class_docstr: Filter response normalization layer.
  
  Filter Response Normalization (FRN), a normalization
  method that enables models trained with per-channel
  normalization to achieve high accuracy. It performs better than
  all other normalization techniques for small batches and is par
  with Batch Normalization for bigger batch sizes.
  
  Arguments
      axis: List of axes that should be normalized. This should represent the
            spatial dimensions.
      epsilon: Small positive float value added to variance to avoid dividing by zero.
      beta_initializer: Initializer for the beta weight.
      gamma_initializer: Initializer for the gamma weight.
      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.
      learned_epsilon: (bool) Whether to add another learnable
      epsilon parameter or not.
      name: Optional name for the layer
  
  Input shape
      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. This layer, as of now,
      works on a 4-D tensor where the tensor should have the shape [N X H X W X C]
  
      TODO: Add support for NCHW data format and FC layers.
  
  Output shape
      Same shape as input.
  
  References
      - [Filter Response Normalization Layer: Eliminating Batch Dependence
      in the training of Deep Neural Networks]
      (https://arxiv.org/abs/1911.09737)
class_docstr_tok: ["Filter","response","normalization","layer",".","Filter","Response","Normalization","(","FRN",")",",","a","normalization","method","that","enables","models","trained","with","per-channel","normalization","to","achieve","high","accuracy",".","It","performs","better","than","all","other","normalization","techniques","for","small","batches","and","is","par","with","Batch","Normalization","for","bigger","batch","sizes",".","Arguments","axis",":","List","of","axes","that","should","be","normalized",".","This","should","represent","the","spatial","dimensions",".","epsilon",":","Small","positive","float","value","added","to","variance","to","avoid","dividing","by","zero",".","beta_initializer",":","Initializer","for","the","beta","weight",".","gamma_initializer",":","Initializer","for","the","gamma","weight",".","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",".","learned_epsilon",":","(","bool",")","Whether","to","add","another","learnable","epsilon","parameter","or","not",".","name",":","Optional","name","for","the","layer","Input","shape","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",".","This","layer",",","as","of","now",",","works","on","a","4-D","tensor","where","the","tensor","should","have","the","shape","[","N","X","H","X","W","X","C","]","TODO",":","Add","support","for","NCHW","data","format","and","FC","layers",".","Output","shape","Same","shape","as","input",".","References","-","[","Filter","Response","Normalization","Layer",":","Eliminating","Batch","Dependence","in","the","training","of","Deep","Neural","Networks","]","(","https",":","\/\/arxiv.org\/abs\/1911.09737",")"]
code: def __init__(
      self,
      epsilon: float = 1e-6,
      axis: list = [1, 2],
      beta_initializer: types.Initializer = "zeros",
      gamma_initializer: types.Initializer = "ones",
      beta_regularizer: types.Regularizer = None,
      gamma_regularizer: types.Regularizer = None,
      beta_constraint: types.Constraint = None,
      gamma_constraint: types.Constraint = None,
      learned_epsilon: bool = False,
      learned_epsilon_constraint: types.Constraint = None,
      name: str = None,
      **kwargs,
  ):
      super().__init__(name=name, **kwargs)
      self.epsilon = epsilon
      self.beta_initializer = tf.keras.initializers.get(
          beta_initializer
      )
      self.gamma_initializer = tf.keras.initializers.get(
          gamma_initializer
      )
      self.beta_regularizer = tf.keras.regularizers.get(
          beta_regularizer
      )
      self.gamma_regularizer = tf.keras.regularizers.get(
          gamma_regularizer
      )
      self.beta_constraint = tf.keras.constraints.get(beta_constraint)
      self.gamma_constraint = tf.keras.constraints.get(gamma_constraint)
      self.use_eps_learned = learned_epsilon
      self.supports_masking = True
  
      if self.use_eps_learned:
          self.eps_learned_initializer = tf.keras.initializers.Constant(
              1e-4
          )
          self.eps_learned_constraint = tf.keras.constraints.get(
              learned_epsilon_constraint
          )
          self.eps_learned = self.add_weight(
              shape=(1,),
              name="learned_epsilon",
              dtype=self.dtype,
              initializer=tf.keras.initializers.get(
                  self.eps_learned_initializer
              ),
              regularizer=None,
              constraint=self.eps_learned_constraint,
          )
      else:
          self.eps_learned_initializer = None
          self.eps_learned_constraint = None
  
      self._check_axis(axis)
  
imports: import logging
  import tensorflow
  from typeguard import typechecked
  from tensorflow_addons.utils import types
label_desc: Use image node_id 1 to create a new FilterResponseNormalization object from inherited base classes: tf.keras.layers with example: obj = FilterResponseNormalization(epsilon, axis, beta_initializer, gamma_initializer, beta_regularizer, gamma_regularizer, beta_constraint, gamma_constraint, learned_epsilon, learned_epsilon_constraint, name)