Hi guys
Goood Afternoon
I been trying to train Nnet with 5k images (3.7k for good and 1.7k for validation), but I am getting 0% accuracy. I have attached screen captures of graph with output and please see the code I am using for training. appriceate for your help.
Thanks in advnce.
Have a great time.
digitalDatasetPath = fullfile('D:\MatLab2020\DeeplearningCNN\test');imdsTrain = imageDatastore(digitalDatasetPath, ... 'IncludeSubfolders', true,'FileExtensions','.jpeg','LabelSource','foldernames');% set training dataset folder
% set validation dataset folder
validationPath = fullfile('D:\MatLab2020\DeeplearningCNN\train');imdsValidation = imageDatastore(validationPath, ... 'IncludeSubfolders',true,'FileExtensions','.jpeg','LabelSource','foldernames');% create a clipped ReLu layer
layer = clippedReluLayer(10,'Name','clip1');% define network architecture
layers = [ %imageInputLayer([240 320 3], 'Normalization', 'none')
imageInputLayer([300 300 3]) % conv_1
%convolution2dLayer(5,20,'Stride',1)
convolution2dLayer(5,24) %batchNormalizationLayer
%clippedReluLayer(10);
reluLayer maxPooling2dLayer(2,'Stride',2) % fc layer
fullyConnectedLayer(1) softmaxLayer classificationLayer];% specify training option("adam_&_sgdm")
%options = trainingOptions('sgdm', ...
% 'MaxEpochs',20, ...
% 'InitialLearnRate',0.0001, ...
% 'MiniBatchSize',32, ...
% 'Shuffle','every-epoch', ...
% 'ValidationData',imdsValidation, ...
% 'ValidationFrequency',30, ...
% 'Verbose',false, ...
% 'Plots','training-progress');
options = trainingOptions('sgdm', ... 'MaxEpochs',20, ... 'InitialLearnRate',1e-4, ... 'Verbose', false, ... 'Plots','training-progress')% train network using training data
net = trainNetwork(imdsTrain,layers,options);% classify validation images and compute accuracy
YPred = classify(net,imdsValidation);YValidation = imdsValidation.Labels;accuracy = sum(YPred == YValidation)/numel(YValidation)
Best Answer