Hi folks,
I'm not very familiar with matlab so apologies for the obvious question, but how can I pass an image to my cnn to be analysed?
My cnn's code is as follows:
AnisotropyDatasetPath = fullfile(matlabroot,'Training', 'Anisotropy');IsotropyDatasetPath = fullfile(matlabroot,'Training', 'Isotropy');FillerDatasetPath = fullfile(matlabroot,'Training', 'Filler');TrainingDatasetPath = fullfile(matlabroot,'Training');imds = imageDatastore(TrainingDatasetPath, 'IncludeSubfolders',true,... 'LabelSource','foldernames');labelCount = countEachLabel(imds)numTrainFiles = 999;[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize');layers = [ imageInputLayer([227 227 3]) convolution2dLayer(3,8,'Padding','same') batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',2) convolution2dLayer(3,16,'Padding','same') batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',2) convolution2dLayer(3,32,'Padding','same') batchNormalizationLayer reluLayer fullyConnectedLayer(3) softmaxLayer classificationLayer];options = trainingOptions('sgdm', ... 'InitialLearnRate',0.01, ... 'MaxEpochs',4, ... 'Shuffle','every-epoch', ... 'ValidationData',imdsValidation, ... 'ValidationFrequency',30, ... 'Verbose',false, ... 'Plots','training-progress');net = trainNetwork(imdsTrain,layers,options);YPred = classify(net,imdsValidation);YValidation = imdsValidation.Labels;accuracy = sum(YPred == YValidation)/numel(YValidation)
thanks!
Best Answer