TensorFlow batch normalize的使用
batch normalize 经常与CNN搭配使用,据一些研究表面,在RNN层数不是很深的时候使用batch normalize是会用损害作用的。下面介绍下TensorFlow bath normalize的用法
tf.layers.batch_normalization()
直接把想normalize的张量传入此函数即可,不过需要注意的是,其有一个training
参数,通过设置此参数用来区分此时是训练阶段还是验证或测试阶段。
然而,不要以为这样操作就完了,还需要对这个normalize层里面的一些ops进行更新
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops):
train_op = optimizer.minimize(loss)
这样就能在训练的时候进行normalize层的参数更新了