tf.nn.batch_normalization()函数解析(最清晰的解释)

这两天在看batch normalization的代码时碰到了这个tf.nn.moments()函数,特此记录。

关于归一化的讲解的博客——【深度学习】Batch Normalization(批归一化)

tensorflow实现代码在这个博客——【超分辨率】TensorFlow中批归一化的实现——tf.layers.batch_normalization()函数

tf.nn.batch_normalization()函数用于执行批归一化。

# 用于最中执行batch normalization的函数
tf.nn.batch_normalization(
    x,
    mean,
    variance,
    offset,
    scale,
    variance_epsilon,
    name=None
)

参数:

  • x是input输入样本

  • mean是样本均值

  • variance是样本方差

  • offset是样本偏移(相加一个转化值)

  • scale是缩放(默认为1)

  • variance_epsilon是为了避免分母为0,添加的一个极小值

输出的计算公式为:
y = s c a l e ∗ ( x − m e a n ) / v a r + o f f s e t y = scale * (x - mean) / var + offset y=scale(xmean)/var+offset

这里安利一个简单讲述batch normalization的文章,还有相应的代码,通俗易懂。

tensorflow-BatchNormalization(tf.nn.moments及tf.nn.batch_normalization)

你可能感兴趣的:(#,TensorFlow)