class_docstr: Filter Response Normalization layer without Threshold Linear Unit.
  
  c.f. https://arxiv.org/pdf/1911.09737.pdf
class_docstr_tok: ["Filter","Response","Normalization","layer","without","Threshold","Linear","Unit",".","c.f",".","https",":","\/\/arxiv.org\/pdf\/1911.09737.pdf"]
code: def __init__(
      self,
      mode=None,
      learn_epsilon=False,
      init_epsilon=1e-6,
      init_learnt_epsilon=1e-4,
  ):
      super().__init__()
  
      del mode
  
      # If we learn epsilon then epsilon = init_epsilon + |learnt_value|
      # where learnt_value is initialized to init_learnt_epsilon.
      # If learn_epsilon is false then epsilon is just init_epsilon.
      #
      # NOTE: I (afrozm) haven't been able to train with `learn_epsilon = True`.
      self._learn_epsilon = learn_epsilon
  
      # TODO(jonni): Replace asserts with ValueError.
      assert init_epsilon > 0
      assert init_learnt_epsilon > 0
  
      self._init_epsilon = jnp.array(init_epsilon, dtype=jnp.float32)
      self._init_learnt_epsilon = jnp.array(
          init_learnt_epsilon, dtype=jnp.float32
      )
  
imports: from trax.fastmath import numpy
  from trax.layers import base
label_desc: Use image node_id 1 to create a new FilterResponseNorm object from inherited base classes: base with example: obj = FilterResponseNorm(mode, learn_epsilon, init_epsilon, init_learnt_epsilon)