batch_norm
batch_norm
(input, act=None, is_test=False, momentum=0.9, epsilon=1e-05, param_attr=None, bias_attr=None, data_layout='NCHW', in_place=False, name=None, moving_mean_name=None, moving_variance_name=None, do_model_average_for_mean_and_var=False, use_global_stats=False)[源代码]
可用作卷积和全连接操作的批正则化函数,根据当前批次数据按通道计算的均值和方差进行正则化。该层需要的数据格式如下:
1.NHWC[batch,in_height,in_width,in_channels] 2.NCHW[batch,in_channels,in_height,in_width]
更多详情请参考 :
moving_mean和moving_var是训练过程中统计得到的全局均值和方差,在预测或者评估中使用。
当use_global_stats = True时,
- 参数:
- input (Variable) - batch_norm算子的输入特征,是一个Variable类型,输入维度可以是 2, 3, 4, 5。数据类型:flaot16, float32, float64。
- is_test (bool) - 指示它是否在测试阶段,非训练阶段使用训练过程中统计到的全局均值和全局方差。默认:False。
- momentum (float)- 此值用于计算 moving_mean 和 moving_var。更新公式为:
,
, 默认:0.9。
- epsilon (float)- 加在分母上为了数值稳定的值。默认:1e-5。
- param_attr (ParamAttr|None) :指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 ParamAttr 。batch_norm算子默认的权重初始化是1.0。
- bias_attr (ParamAttr|None)- 指定偏置参数属性的对象。默认值为None,表示使用默认的偏置参数属性。具体用法请参见 。batch_norm算子默认的偏置初始化是0.0。
- in_place (bool)- batch_norm的输出复用输入的tensor,可以节省显存。默认:False。
- name (str|None) – 具体用法请参见 cn_api_guide_Name ,一般无需设置,默认值为None。
- moving_mean_name (string)- moving_mean的名称,存储全局均值。如果将其设置为None, 将随机命名全局均值;否则,
batch_norm
将命名全局均值为moving_mean_name
。默认:None。 - moving_variance_name (string)- moving_variance的名称,存储全局变量。如果将其设置为None, 将随机命名全局方差;否则,
batch_norm
将命名全局方差为moving_variance_name
。默认:None。 - do_model_average_for_mean_and_var (bool,默认False)- 是否为mean和variance做模型均值。
返回: 维度和输入相同的Tensor,在输入中运用批正则后的结果。
返回类型:Variable