Normalize the activations of the previous layer at each batch, i.e. applies a
transformation that maintains the mean activation close to 0 and the
activation standard deviation close to 1.

layer_batch_normalization(object, axis = -1L, 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 = NULL,
gamma_regularizer = NULL, beta_constraint = NULL,
gamma_constraint = NULL, input_shape = NULL,
batch_input_shape = NULL, batch_size = NULL, dtype = NULL,
name = NULL, trainable = NULL, weights = NULL)

## Arguments

object |
Model or layer object |

axis |
Integer, the axis that should be normalized (typically the
features axis). For instance, after a `Conv2D` layer with
`data_format="channels_first"` , set `axis=1` in `BatchNormalization` . |

momentum |
Momentum for the moving mean and the moving variance. |

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 will 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. |

beta_constraint |
Optional constraint for the beta weight. |

gamma_constraint |
Optional constraint for the gamma weight. |

input_shape |
Dimensionality of the input (integer) not including the
samples axis. This argument is required when using this layer as the first
layer in a model. |

batch_input_shape |
Shapes, including the batch size. For instance,
`batch_input_shape=c(10, 32)` indicates that the expected input will be
batches of 10 32-dimensional vectors. `batch_input_shape=list(NULL, 32)`
indicates batches of an arbitrary number of 32-dimensional vectors. |

batch_size |
Fixed batch size for layer |

dtype |
The data type expected by the input, as a string (`float32` ,
`float64` , `int32` ...) |

name |
An optional name string for the layer. Should be unique in a
model (do not reuse the same name twice). It will be autogenerated if it
isn't provided. |

trainable |
Whether the layer weights will be updated during training. |

weights |
Initial weights for layer. |

Arbitrary. Use the keyword argument `input_shape`

(list
of integers, does not include the samples axis) when using this layer as
the first layer in a model.

## Output shape

Same shape as input.

## References