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層的參數更新了