In a custom CNN network, how can I know about the input size for each layer?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Image Analyst
2022-6-23
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.
另请参阅
类别
在 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!