Not enough input arguments for plotting Precision-Recall curve
1 view (last 30 days)
Show older comments
Fahmi Akmal Dzulkifli
on 8 Nov 2022
Commented: Walter Roberson
on 11 Nov 2022
Greetings,
I want to evaluate my Yolov3 model by plotting the Precision-Recall curve. I tried to follow the example provided in the "Object Detection Using Yolo v3 Deep Learning' (https://www.mathworks.com/help/vision/ug/object-detection-using-yolo-v3-deep-learning.html). However the error displayed as follows:
Error using plot
Not enough input arguments.
Error in testyolo (line 41)
plot(recall, precision);
May I know what is the problem with my code? My code is
celldetector = load('trainedyolov3Detector-2022-11-04-00-30-56.mat');
testData = combine(imdsTest, bldsTest);
detector = celldetector.yolov3Detector;
results = detect(detector,testData,'MiniBatchSize',8);
[ap,recall, precision] = evaluateDetectionPrecision(results, testData);
figure;
plot(recall, precision);
xlabel('Recall')
ylabel('Precision')
grid on
title(sprintf('Average precision = %.1f', ap))
0 Comments
Accepted Answer
Walter Roberson
on 8 Nov 2022
"For a multiclass detector, recall and precision are cell arrays, where each cell contains the data points for each object class."
So it appears you have a multi-class situation, and your recall and precision are being returned as cell arrays. plot() cannot handle cell arrays
4 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!