docstr: 'axis' is the axis along which the normalization is conducted
   for dense layers, this should be -1 (which works for dense layers
   where the input looks like: (batch, node index)
   for things like batch normalization over channels (where the input
   looks like: batch, channel, rows, columns), an axis=1 will
   normalize over channels
docstr_tok: ["'axis","'","is","the","axis","along","which","the","normalization","is","conducted","for","dense","layers",",","this","should","be","-1","(","which","works","for","dense","layers","where","the","input","looks","like",":","(","batch",",","node","index",")","for","things","like","batch","normalization","over","channels","(","where","the","input","looks","like",":","batch",",","channel",",","rows",",","columns",")",",","an","axis=1","will","normalize","over","channels"]
code: def __init__(self, gamma, beta, axis, mean, var, epsilon, **kwargs):
      """
      'axis' is the axis along which the normalization is conducted
       for dense layers, this should be -1 (which works for dense layers
       where the input looks like: (batch, node index)
       for things like batch normalization over channels (where the input
       looks like: batch, channel, rows, columns), an axis=1 will
       normalize over channels
      """
      super(BatchNormalization, self).__init__(**kwargs)
      # in principle they could be more than one-dimensional, but
      # the current code I have written, consistent with the Keras
      # implementation, seems to support these only being one dimensional
      assert len(mean.shape) == 1
      assert len(var.shape) == 1
      self.gamma = gamma
      self.beta = beta
      self.axis = axis
      self.mean = mean
      self.var = var
      self.epsilon = epsilon
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import absolute_import
  import sys
  import os
  import numpy
  from collections import namedtuple
  from collections import OrderedDict
  from collections import defaultdict
  import deeplift.util
  from .helper_functions import pseudocount_near_zero, add_val_to_col
  from .None import helper_functions
  from .core import SingleInputMixin, Node
  import tensorflow
label_desc: Use image node_id 1 to create a new BatchNormalization object from inherited base classes: SingleInputMixin, Node with example: obj = BatchNormalization(gamma, beta, axis, mean, var, epsilon)