Azzera filtri
Azzera filtri

How can I test the network I've trained?

24 visualizzazioni (ultimi 30 giorni)
Ferhat Kangal
Ferhat Kangal il 29 Dic 2022
Hello everybody, I have trained a CNN model which is Resnet50 and now I want to test it with different dataset and get accuracy. Anyone has any idea how can I do that? I have created a imageDataStore called imdsTest which has 5 classes and thousands of images in the classes.

Risposte (1)

Christopher McCausland
Christopher McCausland il 29 Dic 2022
Hi Ferhat,
If you have trained the model it will save to your workspace as a fancy variable 'model'. You can use this to then test with images it hasn't seen before.
% Lets generate a network -- Yours may look slightly diffrent, thats okay
miniBatchSize = 128;
validationFrequency = floor(numel(YTrain)/miniBatchSize);
options = trainingOptions('sgdm', ...
'MiniBatchSize',miniBatchSize, ...
'MaxEpochs',30, ...
'InitialLearnRate',1e-3, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropFactor',0.1, ...
'LearnRateDropPeriod',20, ...
'Shuffle','every-epoch', ...
'ValidationData',{XValidation,YValidation}, ...
'ValidationFrequency',validationFrequency, ...
'Plots','training-progress', ...
% Lets train it;
net = trainNetwork(XTrain,YTrain,layers,options);
% Finally lets test our network;
YPredicted = predict(net,imdsTest);
Here is a further example (that I have also borrowed from as I don't have a network to hand).
Kind regards,

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by