【问题标题】:Calculate number of training parameters using Neural Network Toolbox使用神经网络工具箱计算训练参数的数量
【发布时间】:2018-11-26 15:08:21
【问题描述】:

我使用 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];

【问题讨论】:

  • imageSizenumClasses 是什么?请将此添加到您的问题中。
  • imageSize 为 128x300x1,numClasses 为 1251
  • 网络分析器显示 ReLU 层有 0 个可学习参数。这意味着它不能被信任......

标签: matlab neural-network deep-learning


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    相关资源
    最近更新 更多