tf.layers.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)
Functional interface for the batch normalization layer.
Reference: http://arxiv.org/abs/1502.03167
"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift"
Sergey Ioffe, Christian Szegedy
inputs
: Tensor input.axis
: Integer, the axis that should be normalized (typically the features axis). For instance, after a Convolution2D
layer with data_format="channels_first"
, set axis=1
in BatchNormalization
.momentum
: Momentum for the moving average.epsilon
: Small float added to variance to avoid dividing by zero.center
: If True, add offset of beta
to normalized tensor. If False, beta
is ignored.scale
: If True, multiply by gamma
. If False, gamma
is not used. When the next layer is linear (also e.g. nn.relu
), this can be disabled since the scaling can be done by the next layer.beta_initializer
: Initializer for the beta weight.gamma_initializer
: Initializer for the gamma weight.moving_mean_initializer
: Initializer for the moving mean.moving_variance_initializer
: Initializer for the moving variance.beta_regularizer
: Optional regularizer for the beta weight.gamma_regularizer
: Optional regularizer for the gamma weight.training
: Either a Python boolean, or a TensorFlow boolean scalar tensor (e.g. a placeholder). Whether to return the output in training mode (normalized with statistics of the current batch) or in inference mode (normalized with moving statistics).trainable
: Boolean, if True
also add variables to the graph collection GraphKeys.TRAINABLE_VARIABLES
(see tf.Variable).name
: String, the name of the layer.reuse
: Boolean, whether to reuse the weights of a previous layer by the same name.Output tensor.
Defined in tensorflow/python/layers/normalization.py
.
© 2017 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization