【caffe转向pytorch】caffe的BN层+scale层=pytorch的BN层

本文解析了Caffe框架中Batch Normalization (BN) 层与Scale层的作用及配合使用的原因,并对比了PyTorch中BN层的功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

caffe里面用BN层的时候通常后面接一下scale层,原因如下:

caffe 中为什么bn层要和scale层一起使用
这个问题首先你要理解batchnormal是做什么的。它其实做了两件事。

  1. 输入归一化 x_norm = (x-u)/std, 其中u和std是个累计计算的均值和方差。
    2)y=alpha×x_norm + beta,对归一化后的x进行比例缩放和位移。其中alpha和beta是通过迭代学习的。
    那么caffe中的bn层其实只做了第一件事。scale层做了第二件事。
    这样你也就理解了scale层里为什么要设置bias_term=True,这个偏置就对应2)件事里的beta。

而在pytorch中,我们可以看一下代码注释说明
注释

其中红框这部分,我们可以看一下这个公式是
这里写图片描述

本身同时完成两件事情。

因此,caffe的BN层+scale层 与 pytorch的BN层 等价

喜欢请打赏,一毛两毛也是个意思,么么哒
支F宝账号:2363891614@qq.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值