tensorflow.layers.batch_normalization使用方法
阿新 • • 發佈:2018-12-30
什麼都不說 先粘 文件網址
先吐槽一下tensorflow的文件實在是太過簡單了。。。
tensorflow.layers.batch_normalization是集成了之前 tf.nn.moments 和tf.nn.batch_normalization兩個方法
看看函式定義。。
batch_normalization(
inputs,
axis=-1,
momentum=0.99,
epsilon=0.001,
center=True,
scale=True,
beta_initializer=tf.zeros_initializer(),
gamma_initializer =tf.ones_initializer(),
moving_mean_initializer=tf.zeros_initializer(),
moving_variance_initializer=tf.ones_initializer(),
beta_regularizer=None,
gamma_regularizer=None,
training=False,
trainable=True,
name=None,
reuse=None,
renorm=False,
renorm_clipping=None,
renorm_momentum =0.99,
fused=False)
我靠!!這麼多引數如何是好。
對於簡單的使用者(吃瓜群眾,比如說鄙人),只需要設定好inputs和axis即可
對於inputs就是你要做BN的Tensor,沒什麼好說的。
第二個是 axis
由官方文件指出,只需要確定batch的維就可以了,比如說一般的conv layer輸出的格式是[batch,width,high,channel],那麼axis = 0。
如果在conv layer 設定了 data_format='channels_first' 那麼資料的結構會變成[channels,batch,width,high],相應的 axis改成1.
that's all!!
鄙人才疏學淺,歡迎各路大神批評指點O(∩_∩)O