How can I test the network I've trained?
19 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
Christopher McCausland
2022-12-29
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', ...
'Verbose',false);
% Lets train it;
net = trainNetwork(XTrain,YTrain,layers,options);
% Finally lets test our network;
YPredicted = predict(net,imdsTest);
Kind regards,
Christopher
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Parallel and Cloud 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!