caffe常用层:batchNorm使用
Caffe 的 BN(BatchNorm ) 层共有三个参数参数:均值、方差和滑动系数,BN层结构如下:
layer {
- bottom: "res2a_branch2b"
- top: "res2a_branch2b"
- name: "bn2a_branch2b"
- type: "BatchNorm"
- batch_norm_param {
- use_global_stats: false //训练阶段和测试阶段不同,
- }
- include: { phase: TRAIN }
- }
- layer {
- bottom: "res2a_branch2b"
- top: "res2a_branch2b"
- name: "bn2a_branch2b"
- type: "BatchNorm"
- batch_norm_param {
- use_global_stats: true
- }
- include: { phase: TEST }
- }
- use_global_stats:如果为真,则使用保存的均值和方差,否则采用滑动平均计算新的均值和方差。该参数缺省的时候,如果是测试阶段则等价为真,如果是训练阶段则等价为假。
- moving_average_fraction:滑动平均的衰减系数,默认为0.999
- eps:分母附加值,防止除以方差时出现除0操作,默认为1e-5(不同框架采用的默认值不一样),
在Caffe中使用Batch Normalization需要注意以下两点:
1. 要配合Scale层一起使用,具体参见http://blog.csdn.net/sunbaigui/article/details/50807398以及Residual Network
2. 训练的时候,将BN层的use_global_stats设置为false,然后测试的时候将use_global_stats设置为true,不然训练的时候会报“NAN”或者模型不收敛。
可选参数定义在 src\caffe\proto\caffe.proto 中,共有3个:
message BatchNormParameter {// 如果为真,则使用保存的均值和方差,否则采用滑动平均计算新的均值和方差。// 该参数缺省的时候,如果是测试阶段则等价为真,如果是训练阶段则等价为假。optional bool use_global_stats = 1;// 滑动平均的衰减系数,默认为0.999optional float moving_average_fraction = 2 [default = .999];// 分母附加值,防止除以方差时出现除0操作,默认为1e-5optional float eps = 3 [default = 1e-5];
}
BatchNorm的具体含义:
caffe常用层:batchNorm使用相关推荐
- caffe中常用层: BatchNorm层详解
Batchnorm原理详解 前言:Batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法,可以说是目前深度网络必不可少的一部分. 本文旨在用通俗易懂的语言,对深度学习的 ...
- caffe常用层:Reduction层
Layer type: Reduction 头文件位置:./include/caffe/layers/reduction_layer.hpp CPU 执行源文件位置: ./src/caffe/laye ...
- Caffe常用层参数介绍
DATA crop:截取原图像中一个固定patch layers {name: "data"type: DATAtop: "data"top: "la ...
- caffe常用层:特殊的Math函数
目录 目录 主要函数 caffe_cpu_gemm 函数 caffe_cpu_gemv 函数 caffe_axpy 函数 caffe_set 函数 caffe_add_scalar 函数 caffe_ ...
- caffe中的batchNorm层(caffe 中为什么bn层要和scale层一起使用)
caffe中的batchNorm层 链接: http://blog.csdn.net/wfei101/article/details/78449680 caffe 中为什么bn层要和scale层一起使 ...
- Caffe学习系列(5):其它常用层及参数
本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...
- Caffe 源码 - BatchNorm 层与 Scale 层
batch norm layer & scale layer 简述 Batch Normalization 论文给出的计算: 前向计算: 后向计算: BatchNorm 主要做了两部分: [1 ...
- caffe常见层及其prototxt设置
输入: Convolution: layer {name: ""type: "Convolution"bottom: ""top: &quo ...
- Caffe 激励层(Activation)分析
Caffe_Activation 一般来说,激励层的输入输出尺寸一致,为非线性函数,完成非线性映射,从而能够拟合更为复杂的函数表达式激励层都派生于NeuronLayer: class XXXlayer ...
最新文章
- Pandas使用to_dict函数将dataframe转化为字典(dict)格式数据并指定orientation参数生成不同形式的字典
- 洛谷.4245.[模板]任意模数NTT(MTT/三模数NTT)
- ACM 进阶计划~~转
- struts实战--登录功能实现
- Directx11教程(18) D3D11管线(7)
- getBoundingClientRect说明
- access实例_西门子PLC1200组态王跟Access数据库-⑥组态王变量
- 东大OJ-1430-PrimeNumbers
- 关于ios7的适配问题
- flash mx拖拽实例_Flash MX 2004片段面板预览
- 汽车故障诊断技术【6】
- Java 实训1:编写一个窗体程序显示日历表。
- 我的android手机在哪里打开,USB调试在哪里打开 手机USB调试模式设置大全
- 在linux上通过yum安装JDK
- C#编程,获取当前时间为一年的第几周的一种方法。
- 微信没有回车键怎么换行_微信打字怎么换行
- 解决导出Excel表的时候,中文文件名出现乱码的问题
- 【英语语法入门】 第29讲 情态动词的否定和疑问
- MATLAB中创建矩阵的方法
- 分不清?!Sketch Measure 和 Sketch Meaxure 有什么区别?