How to use a trained network to test new data set?

조회 수: 1 (최근 30일)
Morteza Heidarinejad
Morteza Heidarinejad 2017년 7월 25일
댓글: hanaa 2021년 3월 28일
Hi I have trained Alexnet network with my image data and saved it as a 'my_trained_net.mat'. Now In another script, I want to load it and just check it by new data set which has not been used for training. my code is as below:
net=load ('my_trained_net.mat');
[FileName,PathName]=uigetfile({'*.jpg';'*.tiff'},'Select Your picture');
newImage = strcat(PathName, FileName);
img = readAndPreprocessImage(newImage);
label = char(classify(net,img));
figure,imshow(img);
title(label);
this is exactly what I have used at the end of my training script to label some test images. the error is ' classify Requires at least three arguments' which means it does not recognize the 'net' as a SeriesNetwork object.
any comment or better way to do the same act is welcome thanks

채택된 답변

Morteza Heidarinejad
Morteza Heidarinejad 2017년 8월 2일
After a while struggling with my code, I got the answer. when the pre-trained network such as Alexnet is trained with the new set of images using trainNetwork command, new trained net is saved with a name that has been specified in the script. in my case, it was "mytrainnet". So in the new script, only for loading the trained net, Matlab recalls that name. what I did only was calling the net with the below line:
load my_trained_net
then it loaded with the name of "mytrainnet" in the workspace as SeriesNetwork object. Therefore the labeling of the new data set was easy by calling the:
label = char(classify(mytrainnet,img));
  댓글 수: 2
Yashwanth A
Yashwanth A 2019년 3월 14일
can you share your full code
hanaa
hanaa 2021년 3월 28일
Can you share your full code after classifying new images

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

추가 답변 (0개)

카테고리

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