zoukankan      html  css  js  c++  java
  • 【转载】 【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层 等价

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

  • 相关阅读:
    django ORM
    django扩展知识
    django视图层
    php常用四种算法
    文件操作函数
    PHP开发中数组操作大全
    php 字符 常用函数
    MySQL的WHERE语句中BETWEEN与IN的用法和他们的区别
    $_SERVER
    PHP魔术方法和魔术常量
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/10614423.html
Copyright © 2011-2022 走看看