class_docstr: Unit normalization layer.
  
  Normalize a batch of inputs so that each input in the batch has a L2 norm
  equal to 1 (across the axes specified in `axis`).
  
  Example:
  
  >>> data = np.arange(6).reshape(2, 3)
  >>> normalized_data = keras.layers.UnitNormalization()(data)
  >>> print(np.sum(normalized_data[0, :] ** 2)
  1.0
  
  Args:
      axis: Integer or list/tuple. The axis or axes to normalize across.
          Typically, this is the features axis or axes. The left-out axes are
          typically the batch axis or axes. `-1` is the last dimension
          in the input. Defaults to `-1`.
code: def __init__(self, axis=-1, **kwargs):
      super().__init__(**kwargs)
      if isinstance(axis, (list, tuple)):
          self.axis = list(axis)
      elif isinstance(axis, int):
          self.axis = axis
      else:
          raise TypeError(
              "Invalid value for `axis` argument: "
              "expected an int or a list/tuple of ints. "
              f"Received: axis={axis}"
          )
      self.supports_masking = True
  
file_path: keras/keras/layers/normalization/unit_normalization.py
imports: from keras import ops
  from keras.api_export import keras_export
  from keras.layers.layer import Layer
label_desc: Use image node_id 1 to create a new UnitNormalization object from inherited base classes: Layer with example: obj = UnitNormalization(axis)