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 次查看(过去 30 天)
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?

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-9-27
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 个)

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by