How to plot network performance?

20 views (last 30 days)
john karli
john karli on 4 Mar 2022
Answered: Mahesh Taparia on 9 Mar 2022
I am trying to plot the network performance using following code
[net2,tr] = trainNetwork(augimdsTrain,lgraph,options);
figure
plot(tr.TrainingLoss,'b-')
hold on
x = 1 : length(tr.ValidationLoss);
y = tr.ValidationLoss;
idx = ~any(isnan(y),1);
plot(x(idx),y(idx),'--k','Marker','.','MarkerSize' ,12);
plotperf(tr)
but got the following error
Unrecognized field name "num_epochs".
Error in plotperform>update_plot (line 258)
numEpochs = tr.num_epochs;
Error in plotperform (line 109)
plotData = update_plot(param,fig,plotData,update_args{:});
my tr variable have
>> tr
tr =
struct with fields:
TrainingLoss: [1×9187 double]
TrainingAccuracy: [1×9187 double]
ValidationLoss: [1×9187 double]
ValidationAccuracy: [1×9187 double]
BaseLearnRate: [1×9187 double]
FinalValidationLoss: 0.0322
FinalValidationAccuracy: 99.6214

Answers (2)

yanqi liu
yanqi liu on 7 Mar 2022
PLOTPERF Plot network performance.
the tr get by train not trainNetwork,so may be should plot perf by self,such as use plotroc(targets,outputs)
  2 Comments
yanqi liu
yanqi liu on 7 Mar 2022
targets:real label for test data
outputs:predict label for test data

Sign in to comment.


Mahesh Taparia
Mahesh Taparia on 9 Mar 2022
Hi
You can select the 'Plots' name value pair of trainingOptions function to 'training-progress' and then train the network. You will be able to see the training plot, and you can export and save that. For more information, you can refer this documentation.
Hope it helps!

Categories

Find more on Deep Learning with Time Series and Sequence Data in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by