Question regarding designing a CNN structure
1 次查看(过去 30 天)
显示 更早的评论
Dear
I am trying to design a CNN structure for a specific image input size. The structure I have tried to follow(just for my practice) is following:
imS = [1 23];
layers = [
imageInputLayer(imS)
convolution2dLayer(1,4,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(1,8,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(1,16,'Padding','same')
batchNormalizationLayer
reluLayer
dropoutLayer(0.25)
fullyConnectedLayer(10)
softmaxLayer
classificationLayer]
But during run time, the structure fails. And the following error is displaying:
Invalid network.
Layer 5: Input size mismatch. Size of input to this layer is different from the expected input size.
Inputs to this layer:
from layer 4 (1×17×4 output)
Would you please highlight how to design a structure in this regard. My feelings is that I need to change the number of filters of the cnn according to the image size. Is there any thumb of rule/any general idea available to design a cnn structure based on the image size?
thanks,
1 个评论
Javid Hamdard
2021-5-14
编辑:Javid Hamdard
2021-5-14
Check your input image size, and also your image input layer size it should to be same.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!