error using classify on a trained cnn: For an image input layer, the input data must be a single image, a 4-D array of images, or an imageDatastore with the correct size.
1 view (last 30 days)
Show older comments
MathWorks Support Team
on 6 Apr 2018
Edited: MathWorks Support Team
on 27 Sep 2021
I have trained a cnn using "trainNetwork" following the workflow outlined in the "trainNetwork" documentation page:
I would like to now use my trained network to classify images via the function "classify" (also mentioned in the example in the documentation.) When I call "classify", I get the following error:
ERROR: Error using SeriesNetwork/predict (line 331)
For an image input layer, the input data must be a single image, a 4-D array of images, or an imageDatastore with the correct size.
Error in SeriesNetwork/classify (line 561)
scores = this.predict( X, varargin{:} );
However, I have checked my inputs to "classify" and ensured that the first input is a SeriesNetwork and the second is an ImageDatastore. What am I doing wrong?
Accepted Answer
MathWorks Support Team
on 17 Aug 2021
Edited: MathWorks Support Team
on 27 Sep 2021
As per the error, make sure that imageDatastore contains images with the correct size (pertaining to the sizes of the images used to train the network.) If the sizes do not match up, "imresize" can be used to adjust the sizes of the images to be classified.
0 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!