Error in testing accuracy code

조회 수: 12 (최근 30일)
Darshana
Darshana 2023년 7월 29일
댓글: Image Analyst 2023년 7월 29일
% Load the pre-trained network (if you already trained and saved the network)
net = load('net.mat');
Error using load
Unable to find file or directory 'net.mat'.
% Load the test dataset
testDir = 'path_dir'; % Directory containing test images
imdsTest = imageDatastore(testDir, 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
% Resize the images to match the network input layer.
augimdsTest = augmentedImageDatastore([224 224 3], imdsTest);
% Classify the test images using the trained network
YPredTest = classify(net, augimdsTest);
% Get the ground truth labels for the test images
YTest = imdsTest.Labels;
% Calculate the test accuracy
testAccuracy = mean(YPredTest == YTest);
the error the code shows is that the classify has 3 arguments i am not able to understand please can u help
  댓글 수: 3
Darshana
Darshana 2023년 7월 29일
thank you
Image Analyst
Image Analyst 2023년 7월 29일
That was not an answer to my question. Anyway Walter discovered the true reason - did you see his answer below? He's basically saying to do this:
% Load variables in the file into a structure variable.
storedStructure = load('net.mat');
% Get the one network variable we need from the structure into its own variable.
net = storedStructure.net;

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2023년 7월 29일
The output of load applied to a mat file, is a struct that has one field for each variable loaded. So you would need net.net where the first net is the struct returned from load and the second is the variable loaded.

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by