In a custom CNN network, how can I know about the input size for each layer?
2 views (last 30 days)
Show older comments
For preparing the type of table as shown in the above figure,how can I get values for the last column of the table i.e Input Size for each layer in my CNN model?
0 Comments
Answers (1)
Image Analyst
on 23 Jun 2022
When you build a custom network, for example like this:
layers = [
imageInputLayer([227, 227, 3])
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
averagePooling2dLayer(2,'Stride',2)
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
averagePooling2dLayer(2,'Stride',2)
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)
fullyConnectedLayer(1)
regressionLayer];
the 227 is not something you "get". It's something you specify. Bigger images take longer to train but will be more accurate. If your accuracy is low, try increasing the size of images you supply.
If you're doing transfer learning, like adapting alexnet or googlenet, then you need to know what image sizes they want and make sure you supply images of that size.
4 Comments
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!