Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 20191014初步深度學習網路
- clear
- folder=fullfile(pwd,'newg')%目前資料夾名稱
- %檔案讀取
- imgs=imageDatastore(folder,...
- "IncludeSubfolders",true,"LabelSource",...
- "foldernames","FileExtensions",{'.jpg','.png','.jfif','.svg','.jpeg'})
- 檔案讀取
- N=length(imgs.Files)
- for i=1:N
- img=imread(imgs.Files{i}); %讀取照片
- [m,n,k]=size(img);%取得照片長寬顏色
- end
- idx=randperm(N);
- for i = 1:16
- subplot(4,4,i)
- img=imread(imgs.Files{idx(i)}); %讀取任意照片
- imshow(img)%顯示照片
- end
- labelCOunt = countEachLabel(imgs)
- numTrainFIles=0.7;%70%的資料
- [Train,Test] = splitEachLabel(imgs,numTrainFIles,'randomized');
- labelTrainCount = countEachLabel(Train)%顯示統計Training類別數目
- labelTestCount = countEachLabel(Test)%顯示統計TEST類別數目
- 網路模型建立
- numofprediction=3;
- layers = [
- imageInputLayer([m n k],'Name','inputs')
- convolution2dLayer(3,8,'Padding','same','Name','Conv1')
- batchNormalizationLayer('Name','batchNrom1')
- reluLayer('Name','relu')
- maxPooling2dLayer(2,'Stride',2,'Name','Maxpooling1')
- convolution2dLayer(3,16,'Padding','same','Name','Conv2')
- batchNormalizationLayer('Name','batchNrom2')
- reluLayer('Name','relu2')
- maxPooling2dLayer(2,'Stride',2,'Name','Maxpooling2')
- convolution2dLayer(3,32,'Padding','same','Name','Conv3')
- batchNormalizationLayer('Name','batchNrom3')
- reluLayer('Name','relu3')
- fullyConnectedLayer(256,'Name','Fullconnect')
- fullyConnectedLayer(128,'Name','Fullconnect2')
- fullyConnectedLayer(numofprediction,'Name','Fullconnectout')
- softmaxLayer('Name','softmaxLayer')
- classificationLayer("Name","classificationLayer")];
- lgraph = layerGraph(layers);
- plot(lgraph)
- options = trainingOptions('adam', ...
- 'InitialLearnRate',0.01, ...
- 'MaxEpochs',5000, ...
- 'Shuffle','every-epoch', ...
- 'ExecutionEnvironment',"gpu",...
- 'ValidationData',Test, ...
- 'ValidationFrequency',20, ...
- 'Verbose',false, ...
- 'Plots','training-progress');
- net = trainNetwork(Train,layers,options)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement