1. 程式人生 > >tensorflow.layers.batch_normalization使用方法

tensorflow.layers.batch_normalization使用方法

什麼都不說 先粘 文件網址

先吐槽一下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