"The input images for activations must be of size equal to or greater than [28 28 1]." when using the activations method for CNN?

7 次查看(过去 30 天)
My code is:
net = trainNetwork(imdsTrain,layers, options);
imageSize = net.Layers(1).InputSize;
augmentedTrainingSet = augmentedImageDatastore(imageSize, imdsTrain, 'ColorPreprocessing', 'gray2rgb');
augmentedTestSet = augmentedImageDatastore(imageSize, imdsValidation, 'ColorPreprocessing', 'gray2rgb');
featureLayer = 'fc';
trainingFeatures = activations(net, augmentedTrainingSet, featureLayer);
And I take an error as "The input images for activations must be of size equal to or greater than [28 28 1]."
Why I'm taking this error, how can I fix it?
I would be glad if you answer

回答(2 个)

Sai Bhargav Avula
编辑:Sai Bhargav Avula 2020-4-9
Hi,
To the best of my knowledge the issue is because of 'ColorPreprocessing'. It is generally used when you have a mix of gray scale and color images(specifically RGB) and to sure that all output images have the same number of channels . In this case the network is expecting [28 28 1] but by using 'ColorPreprocessing' to 'gray2rgb' the image set channels are converted from 1 to 3 because of which that particular error is thrown.
Try removing the ColorPreprocessing name value argument and I believe it should work.
Hope this helps!

Ebru PEKEL
Ebru PEKEL 2020-1-31
When you mean "augmentedTrainingSet "? It is size in [28 28]

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by