Max Pooling Layer Tuning
5 views (last 30 days)
Show older comments
Hello,
I'm currently working on implementing a CNN for a regression problem, and I've encountered an issue when using the maxPooling2dLayer with a poolSize greater than 1. Here's the relevant part of my code:
Layers = [imageInputLayer([NIV 1 1])
convolution2dLayer(5, 15, 'Padding', 'same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2) % (poolSize > 1 leads to an error!!!)
reluLayer
dropoutLayer(0.5)
fullyConnectedLayer(1)
regressionLayer];
The problem arises when I try to set the poolSize in the maxPooling2dLayer to a value greater than 1. I receive the following errors:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error using trainNetwork (line 183)
Invalid network.
Error in CNN (line 280)
net = trainNetwork(XTrain, YTrain, Layers, Options);
Caused by:
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 (output size 6×1×15)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I'm seeking assistance to resolve this issue. Any guidance or suggestions you could provide would be greatly appreciated.
Thank you!
Accepted Answer
Matt J
on 1 Sep 2023
Your input image's spatial dimensions are 6x1. This is not compatible with a 2x2 maxpooling filter. Did you mean to have 2x1 pooling instead? If so,
maxPooling2dLayer([2,1])
3 Comments
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!