class_docstr: Batch normalization layer.
  
  Parameters
  ----------
  axes : tuple with ints or None
      Axes along which normalization will be applied. The ``None``
      value means that normalization will be applied over all axes
      except the last one. In case of 4D tensor it will
      be equal to ``(0, 1, 2)``. Defaults to ``None``.
  
  epsilon : float
      Epsilon is a positive constant that adds to the standard
      deviation to prevent the division by zero.
      Defaults to ``1e-5``.
  
  alpha : float
      Coefficient for the exponential moving average of
      batch-wise means and standard deviations computed during
      training; the closer to one, the more it will depend on
      the last batches seen. Value needs to be between ``0`` and ``1``.
      Defaults to ``0.1``.
  
  gamma : array-like, Tensorfow variable, scalar or Initializer
      Scale. Default initialization methods you can
      find :ref:`here <init-methods>`.
      Defaults to ``Constant(value=1)``.
  
  beta : array-like, Tensorfow variable, scalar or Initializer
      Offset. Default initialization methods you can
      find :ref:`here <init-methods>`.
      Defaults to ``Constant(value=0)``.
  
  running_mean : array-like, Tensorfow variable, scalar or Initializer
      Default initialization methods you can
      find :ref:`here <init-methods>`.
      Defaults to ``Constant(value=0)``.
  
  running_inv_std : array-like, Tensorfow variable, scalar or Initializer
      Default initialization methods you can
      find :ref:`here <init-methods>`.
      Defaults to ``Constant(value=1)``.
  
  {Identity.name}
  
  Methods
  -------
  {Identity.Methods}
  
  Attributes
  ----------
  {Identity.Attributes}
  
  Examples
  --------
  
  Feedforward Neural Networks (FNN) with batch normalization after
  activation function was applied.
  
  >>> from neupy.layers import *
  >>> network = join(
  ...     Input(10),
  ...     Relu(5) >> BatchNorm(),
  ...     Relu(5) >> BatchNorm(),
  ...     Sigmoid(1),
  ... )
  
  Feedforward Neural Networks (FNN) with batch normalization before
  activation function was applied.
  
  >>> from neupy.layers import *
  >>> network = join(
  ...     Input(10),
  ...     Linear(5) >> BatchNorm() >> Relu(),
  ...     Linear(5) >> BatchNorm() >> Relu(),
  ...     Sigmoid(1),
  ... )
  
  Convolutional Neural Networks (CNN)
  
  >>> from neupy.layers import *
  >>> network = join(
  ...     Input((28, 28, 1)),
  ...     Convolution((3, 3, 16)) >> BatchNorm() >> Relu(),
  ...     Convolution((3, 3, 16)) >> BatchNorm() >> Relu(),
  ...     Reshape(),
  ...     Softmax(10),
  ... )
  
  References
  ----------
  .. [1] Batch Normalization: Accelerating Deep Network Training
         by Reducing Internal Covariate Shift,
         http://arxiv.org/pdf/1502.03167v3.pdf
class_docstr_tok: ["Batch","normalization","layer",".","Parameters","--","--","--","--","--","axes",":","tuple","with","ints","or","None","Axes","along","which","normalization","will","be","applied",".","The","``","None","``","value","means","that","normalization","will","be","applied","over","all","axes","except","the","last","one",".","In","case","of","4D","tensor","it","will","be","equal","to","``","(","0",",","1",",","2",")","``",".","Defaults","to","``","None","``",".","epsilon",":","float","Epsilon","is","a","positive","constant","that","adds","to","the","standard","deviation","to","prevent","the","division","by","zero",".","Defaults","to","``","1e-5","``",".","alpha",":","float","Coefficient","for","the","exponential","moving","average","of","batch-wise","means","and","standard","deviations","computed","during","training",";","the","closer","to","one",",","the","more","it","will","depend","on","the","last","batches","seen",".","Value","needs","to","be","between","``","0","``","and","``","1","``",".","Defaults","to","``","0.1","``",".","gamma",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Scale",".","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to","``","Constant","(","value=1",")","``",".","beta",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Offset",".","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to","``","Constant","(","value=0",")","``",".","running_mean",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to","``","Constant","(","value=0",")","``",".","running_inv_std",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to","``","Constant","(","value=1",")","``",".","{","Identity.name","}","Methods","--","--","--","-","{","Identity.Methods","}","Attributes","--","--","--","--","--","{","Identity.Attributes","}","Examples","--","--","--","--","Feedforward","Neural","Networks","(","FNN",")","with","batch","normalization","after","activation","function","was","applied",".",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","join","(","...","Input","(","10",")",",","...","Relu","(","5",")",">",">","BatchNorm","(",")",",","...","Relu","(","5",")",">",">","BatchNorm","(",")",",","...","Sigmoid","(","1",")",",","...",")","Feedforward","Neural","Networks","(","FNN",")","with","batch","normalization","before","activation","function","was","applied",".",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","join","(","...","Input","(","10",")",",","...","Linear","(","5",")",">",">","BatchNorm","(",")",">",">","Relu","(",")",",","...","Linear","(","5",")",">",">","BatchNorm","(",")",">",">","Relu","(",")",",","...","Sigmoid","(","1",")",",","...",")","Convolutional","Neural","Networks","(","CNN",")",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","join","(","...","Input","(","(","28",",","28",",","1",")",")",",","...","Convolution","(","(","3",",","3",",","16",")",")",">",">","BatchNorm","(",")",">",">","Relu","(",")",",","...","Convolution","(","(","3",",","3",",","16",")",")",">",">","BatchNorm","(",")",">",">","Relu","(",")",",","...","Reshape","(",")",",","...","Softmax","(","10",")",",","...",")","References","--","--","--","--","--","..","[","1","]","Batch","Normalization",":","Accelerating","Deep","Network","Training","by","Reducing","Internal","Covariate","Shift",",","http",":","\/\/arxiv.org\/pdf\/1502.03167v3.pdf"]
code: def __init__(
      self,
      axes=None,
      alpha=0.1,
      beta=0,
      gamma=1,
      epsilon=1e-5,
      running_mean=0,
      running_inv_std=1,
      name=None,
  ):
      super(BatchNorm, self).__init__(name=name)
  
      self.axes = axes
      self.alpha = alpha
      self.beta = beta
      self.gamma = gamma
      self.epsilon = epsilon
      self.running_mean = running_mean
      self.running_inv_std = running_inv_std
  
      if axes is not None and len(set(axes)) != len(axes):
          raise ValueError(
              "Specified axes have to contain only unique values"
          )
  
imports: import tensorflow
  from neupy.core.properties import ProperFractionProperty, ParameterProperty, TypedListProperty, NumberProperty, IntProperty
  from neupy.utils import asfloat
  from neupy.exceptions import WeightInitializationError, LayerConnectionError
  from .base import Identity
label_desc: Use image node_id 1 to create a new BatchNorm object from inherited base classes: Identity with example: obj = BatchNorm(axes, alpha, beta, gamma, epsilon, running_mean, running_inv_std, name)