class_docstr: Initializer that generates the identity matrix.
  
  Constructs a 2D identity matrix or batches of these.
code: def __call__(self, shape: Sequence[int], dtype: Any) -> jax.Array:
      shape = tuple(shape)
      if len(shape) < 2:
          raise ValueError(
              "Identity initializer requires at least a 2D shape."
          )
  
      eye = jnp.eye(shape[-2], shape[-1], dtype=dtype)
      if eye.shape != shape:
          eye = jnp.broadcast_to(eye, shape)
      gain = jax.lax.convert_element_type(self.gain, dtype)
      return gain * eye
  
imports: from collections.abc import Sequence
  from typing import Any, Union
  from haiku._src import base
  from haiku._src.typing import Initializer
  import jax
  import jax.numpy
  import numpy
label_desc: Use image node_id 2 for calling the Identity obj's underlying member method code with example usage: obj.__call__(shape, dtype) and returns: unknown