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

原文地址:

https://blog.csdn.net/u011668104/article/details/81532592

 

 

---------------------------------------------------------------------------------------

 

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层 等价

 

 

 

 

---------------------------------------------------------------------------------------------

 

posted on   Angry_Panda  阅读(631)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2018-03-28 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示