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. 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)
Neeta Dsouza answered .
2025-11-20