在 Tensorflow 使用 Batch Normalization

关于 Batch Normalization 的介绍,参见知乎贴: https://www.zhihu.com/question/38102762

BN in Tensorflow

tf.contrib.layers.batch_norm(input, decay=0.9, updates_collections=None, epsilon=1e-5, scale=True, is_training=True, scope="bn")

该方法返回的是一个 tensor 。使用示例:

x = tf.placeholder(tf.float32, [64, 28,28,1])

w= tf.truncated_normal([5,5,1,32], stddev=0.1)

b = tf.constant(0.1, shape=[32])

h = tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME') + b

h_bn = tf.contrib.layers.batch_norm(h, decay=0.9, updates_collections=None, epsilon=1e-5, scale=True, is_training=True, scope="bn")

h_r = tf.nn.relu(h_bn)

推荐阅读更多精彩内容