Deep Learning with MATLAB(懶人版)
然而現在如果你有幸被myc面試,他會問你這個問題
Deep Learning為什麼要叫Deep Learning?和普通的Machine Learning有什麼區別?
如果你答不上來,沒關係,因為作為工程師,我們只要知道怎麼在MATLAB里使用就可以了(並不是
為了展示Deep Learning對Computer Vision有多麼深遠的影響,myc為我們準備了下面的一個小demo.
如何讓程序識別圖中有什麼東西?
反正R2016a MATLAB是這麼做的- 首先你得有Neural Network Toolbox
- 如果你有Computer Vision System Toolbox就更好了,這裡我們用他提供的
helperImportMatConvNetn
來幫助我們導入一個Neural Network.
3. 你得有個支持CUDA的GPU
我們首先不要臉地下載大牛們訓練好的網路,AlexNet是通過ImageNet提供的1000種不同的物體的圖片訓練出的網路,換言之,他認識這1000種東西,超出這個範圍就不認識了
cnnURL = http://www.vlfeat.org/matconvnet/models/beta16/imagenet-caffe-alex.mat;n% Store CNN model in a temporary folderncnnMatFile = fullfile(tempdir, imagenet-caffe-alex.mat);nif ~exist(cnnMatFile, file) % download only oncen disp(Downloading pre-trained CNN model...);n websave(cnnMatFile, cnnURL);nendn
接下來導入到MATLAB中
convnet = helperImportMatConvNet(cnnMatFile)n
讀入我們的圖片
I = imread(sherlock.jpg);n
AlexNet模型需要圖片是227x227x3的彩圖
I = imresize(I,[227,227]);n
激活最後一個分類Layer
category = activations(convnet,I,』classificationLayer『);n
找到概率最大的類
[~,idx] = max(category);n
看看是啥
convnet.Layers(end).ClassNames{idx}nnans = nn』n02099712『n
回到ImageNet看看這是哪個類別
老闆:不錯啊myc,這麼快就把狗給識別出來了
myc:哪裡哪裡,借用了別人的成果而已老闆:其實吧,這隻狗是金毛
myc:……老闆:沒事,其實人也經常弄錯,再接再厲!myc:……怪我咯
推薦閱讀:
TAG:深度学习DeepLearning | MATLAB | 计算机视觉 |