使用神经网络工具箱计算训练参数的数量

时间:2018-06-17 15:40:38

标签: matlab neural-network deep-learning

我使用Matlab神经网络工具箱构建了CNN。如何计算网络中使用的参数总数?

例如,我可以使用支持插件中的analyzeNetwork(),这可以显示每层可学习参数的数量。添加这些是否正确?

layers = [
imageInputLayer([128 300 1])

convolution2dLayer([7 7], 32, 'Stride', [2 2], 'Padding', 1)
batchNormalizationLayer
reluLayer

convolution2dLayer([5 5], 32, 'Stride', [2 2], 'Padding', 1)
batchNormalizationLayer
reluLayer

convolution2dLayer([3 3], 64, 'Stride', [2 2],'Padding', 1)
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)

convolution2dLayer([3 3], 64, 'Stride', [2 2],'Padding', 1)
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)

convolution2dLayer([8 1], 1024, 'Stride', [1 1],'Padding', 0)
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)

averagePooling2dLayer([1 12],'Stride', [1 1]);
dropoutLayer(0.2)

fullyConnectedLayer(4096)
batchNormalizationLayer
reluLayer

dropoutLayer(0.2)

fullyConnectedLayer(1251)
softmaxLayer
classificationLayer];

1 个答案:

答案 0 :(得分:0)

我使用了支持插件中的analyzeNetwork(),并将所有可学习的参数相加,相当于1.4M。

然后我在matconvnet库中创建了相同的网络,并使用vl_simplenn_display来分析网络。它还显示了1.4M参数。