tensorflow.layers.batch_normalization使用方法

来源:互联网 发布:tomcat修改1099端口 编辑:程序博客网 时间:2024/06/06 01:13

什么都不说 先粘 文档网址

https://www.tensorflow.org/versions/master/api_docs/python/tf/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

阅读全文
0 0