Normalize and scale inputs or activations synchronously across replicas.
tf.keras.layers.experimental.SyncBatchNormalization( axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True, beta_initializer='zeros', gamma_initializer='ones', moving_mean_initializer='zeros', moving_variance_initializer='ones', beta_regularizer=None, gamma_regularizer=None, beta_constraint=None, gamma_constraint=None, renorm=False, renorm_clipping=None, renorm_momentum=0.99, trainable=True, adjustment=None, name=None, **kwargs )
Applies batch normalization to activations of the previous layer at each batch by synchronizing the global batch statistics across all devices that are training the model. For specific details about batch normalization please refer to the
tf.keras.layers.BatchNormalization layer docs.
If this layer is used when using tf.distribute strategy to train models across devices/workers, there will be an allreduce call to aggregate batch statistics across all replicas at every training step. Without tf.distribute strategy, this layer behaves as a regular
strategy = tf.distribute.MirroredStrategy() with strategy.scope(): model = tf.keras.Sequential() model.add(tf.keras.layers.Dense(16)) model.add(tf.keras.layers.experimental.SyncBatchNormalization())
| || Integer, the axis that should be normalized (typically the features axis). For instance, after a |
| ||Momentum for the moving average.|
| ||Small float added to variance to avoid dividing by zero.|
| || If True, add offset of |
| || If True, multiply by |
| ||Initializer for the beta weight.|
| ||Initializer for the gamma weight.|
| ||Initializer for the moving mean.|
| ||Initializer for the moving variance.|
| ||Optional regularizer for the beta weight.|
| ||Optional regularizer for the gamma weight.|
| ||Optional constraint for the beta weight.|
| ||Optional constraint for the gamma weight.|
| ||Whether to use Batch Renormalization. This adds extra variables during training. The inference is the same for either value of this parameter.|
| || A dictionary that may map keys 'rmax', 'rmin', 'dmax' to scalar |
| || Momentum used to update the moving means and standard deviations with renorm. Unlike |
| || Boolean, if |
inputs: Input tensor (of any rank).
training: Python boolean indicating whether the layer should behave in training mode or in inference mode.
training=True: The layer will normalize its inputs using the mean and variance of the current batch of inputs.
training=False: The layer will normalize its inputs using the mean and variance of its moving statistics, learned during training.
Arbitrary. Use the keyword argument
input_shape (tuple of integers, does not include the samples axis) when using this layer as the first layer in a model.
Same shape as input.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.