【caffe】Layer解读之:BatchNorm/Scale

  • Layer type: BatchNorm
  • 头文件位置:./include/caffe/layers/batch_norm_layer.hpp
  • CPU 执行源文件位置: ./src/caffe/layers/batch_norm_layer.cpp
  • CUDA GPU 执行源文件位置: ./src/caffe/layers/batch_norm_layer.cu
  • BatchNorm层的功能:对minibatch的数据作归一化(Normalized)。

  • Layer type: Scale
  • 头文件位置:./include/caffe/layers/scale_layer.hpp
  • CPU 执行源文件位置: ./src/caffe/layers/scale_layer.cpp
  • CUDA GPU 执行源文件位置: ./src/caffe/layers/scale_layer.cu
  • Scale层的功能:。

为什么BatchNorm要和Scale结合起来使用

首先batchnorm论文中,这个操作想实习的功能如下:
1) 输入归一化 x_norm = (x-u)/std, 其中u和std是个累计计算的均值和方差注意还有滑动系数。
2)y=alpha×x_norm + beta,对归一化后的x进行比例缩放和位移。其中alpha和beta是通过迭代学习的。
而caffe中的BatchNorm层实现了功能一,Scale层实现了功能二。
caffe中bn和scale的公式


参数解释

layer {
    bottom: "conv1"
    top: "conv1"
    name: "bn_conv1"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
    param {
        name: "bn_conv1_0"
          lr_mult: 0
    }
    param {
        name: "bn_conv1_1"
          lr_mult: 0
        }
    param {
        name: "bn_conv1_2"
          lr_mult: 0
        }
}

layer {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuanCruise

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值