class_docstr: Applies layer normalization to the n-dimensional input tensor:
  
  ``out = gamma * (input - mean) / sqrt(variance + epsilon) + beta``.
  
  Parameters
  ----------
  x: tensor<*?, T> (Required)
      * Input tensor
  axes: const<[K], i32> (Optional)
      * defaults to ``None`` (all dimensions)
      * Dimensions to perform layer normalization.
  gamma: const tensor<[K], T> (Optional)
      * defaults to all ``1s``.
      * same shape as normalized_shape.
  beta: const tensor<[K], T> (Optional)
      * defaults to all ``0s``.
      * same shape as normalized_shape.
  epsilon: const fp32 (Optional)
      * defaults to ``1e-5``.
      * Small constant to avoid division by ``0``.
  
  Returns
  -------
  tensor<*?, T>:
  * tensor with same shape and type as the input tensor ``x``.
code: def __init__(self, **kwargs):
      super(layer_norm, self).__init__(**kwargs)
  
imports: from ._op_reqs import *
label_desc: Use image node_id 1 to create a new layer_norm object from inherited base classes: Operation with example: obj = layer_norm()