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 forward(self, inputs):
      gamma, beta, epsilon_l = self.weights
  
      epsilon = self._init_epsilon
      if epsilon_l is not base.EMPTY_WEIGHTS:
          epsilon += jnp.abs(epsilon_l[0])
  
      # Omit B and C
      axis = tuple(range(1, len(jnp.shape(inputs)) - 1))
      # (B, 1, 1, C)
      nu2 = jnp.mean(inputs**2, axis=axis, keepdims=True)
      # (B, W, H, C)
      xhat = inputs / jnp.sqrt(nu2 + epsilon)
  
      return gamma * xhat + beta
  
imports: from trax.fastmath import numpy
  from trax.layers import base
label_desc: Use image node_id 2 for calling the FilterResponseNorm obj's underlying member method code with example usage: obj.forward(inputs) and returns: unknown