计算卷积层需要学习训练的参数个数

右侧有目录,可坐电梯直达


问题引入:

我这个计算方法,绝对是最准确的一个,而且卷积层的参数个数跟步长strides、padding是valid还是same都毫无关系,你可以对照着model.summary()后的Param列,一层一层验证过去,我这边举个我自己的例子

计算方法:

输入图像的通道数×卷积核的尺寸×卷积核的个数+偏置(数值上等于卷积核的个数)

举例:

模型搭建

为了方便大家验证,我直接说明下我每一层卷积层的参数情况:

第一层(对应下图的conv2d_1):

第一层卷积层涉及到计算的各参数取值
输入图像的通道数3
卷积核的尺寸11x11
卷积核的个数48
偏置量(数值上等于卷积核的个数)48

计算:3x(11x11)x48+48=17472

验证:与生成的模型摘要里显示的Param一致

第二层(对应下图的conv2d_2):

第一层卷积层涉及到计算的各参数取值
输入图像的通道数48
卷积核的尺寸5x5
卷积核的个数128
偏置量(数值上等于卷积核的个数)128

计算:48x(5x5)x128+128=153728

验证:与生成的模型摘要里显示的Param一致

 

第三层、第四层、第五层同理,你们可以自己验证一下,肯定一致

 

model.summary()生成的模型摘要:

拓展:

我搜过BN层参数的计算方法,基本没见过哪个博文提到过,基本都是在“详解BN”、“BN层有什么用”、……,这边我说一下我的理解,可以用来自己目测Trainable Params

计算方法:输入到该BN层的图像的通道数×4

为什么是乘4,原因(个人理解,如果有错,希望各位评论区指正,一起交流学习):

BN层做批量归一化处理时,应用类似权值共享的策略,把每张特征图当做一个神经元,每张特征图都要学习四个参数:均值、方差、伽马(放缩系数)、贝塔(平移系数)

因为特征图的数量,在数值上与卷积核的个数一致,那在数值上就等于输入到该BN层的图像的通道数。(注意:我的BN层是接在卷积层之后了)

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值