matlab能做深度图像的识别吗,Matlab图像识别/检索系列(6)-10行代码完成深度学习网络之基于CNN的图像分类...
在Matlab2017中,完成一個使用CNN網絡進行分類的示例非常簡單。為了便于創建圖像集,Matlab2015引入了ImageDatastore對象,實現函數為imageDatastore,該函數可以輕易的完成遍歷一個文件夾中的圖像建立圖像及的功能,不管該文件夾是否含有子文件夾。這也是它區別于imageSet的地方之一。代碼如下。
%exam1.m
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos',...
'nndatasets','DigitDataset');
%創建圖像集,參數設置為包含子文件夾、子文件夾名作為類標簽
digitData = imageDatastore(digitDatasetPath,...
'IncludeSubfolders',true,'LabelSource','foldernames');
figure;
%取20個置亂數字
perm = randperm(10000,20);
%顯示20幅圖像
for i = 1:20
subplot(4,5,i);
imshow(digitData.Files{perm(i)});
end
trainingNumFiles = 750;
%若報錯,可改為rng('default')
rng(1)
%在圖象集每一類中隨機取trainingNumFiles個圖像作為訓練圖像,其余作為測試圖像
[trainDigitData,testDigitData] = splitEachLabel(digitData,...
trainingNumFiles,'randomize');
%創建簡單CNN網絡
layers = [imageInputLayer([28 28 1]);
convolution2dLayer(5,20);
reluLayer();
maxPooling2dLayer(2,'Stride',2);
fullyConnectedLayer(10);
softmaxLayer();
classificationLayer()];
%設置訓練參數
options = trainingOptions('sgdm','MaxEpochs',20,...
'InitialLearnRate',0.0001);
%訓練CNN網絡
convnet = trainNetwork(trainDigitData,layers,options);
%對測試圖像進行分類
YTest = classify(convnet,testDigitData);
%顯示測試圖像標簽
TTest = testDigitData.Labels;
總結
以上是生活随笔為你收集整理的matlab能做深度图像的识别吗,Matlab图像识别/检索系列(6)-10行代码完成深度学习网络之基于CNN的图像分类...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab有意思程序,matlab有意
- 下一篇: ie php文件,IE(HTTPS):从