code: def normalized_random_uniform_initializer():
      """Random unit quaternion initializer."""
  
      # Since variable initializers must take `shape` as input, we cannot prevent
      # a clash between util.shape and the argument here. Therefore we have to
      # disable redefined-outer-name for this function.
      # pylint: disable=redefined-outer-name
      def _initializer(shape, dtype=tf.float32, partition_info=None):
          """Generate a random normalized quaternion.
  
          Note:
            In the following, A1 to An are optional batch dimensions.
  
          Args:
            shape: A list representing the shape of the output. The last entry of the
              list must be `4`.
            dtype: type of the output (tf.float32 is the only type supported).
            partition_info: how the variable is partitioned (not used).
  
          Returns:
            A tensor of shape `[A1, ..., An, 4]` representing normalized quaternions.
  
          Raises:
            ValueError: If `shape` or `dtype` are not supported.
          """
          del partition_info  # unused
          if dtype != tf.float32:
              raise ValueError("'dtype' must be tf.float32.")
          if shape[-1] != 4:
              raise ValueError("Last dimension of 'shape' must be 4.")
  
          return normalized_random_uniform(shape[:-1])
  
      return _initializer
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import List
  from six.moves import range
  import tensorflow
  from tensorflow_graphics.geometry.transformation import rotation_matrix_3d
  from tensorflow_graphics.math import vector
  from tensorflow_graphics.util import asserts
  from tensorflow_graphics.util import export_api
  from tensorflow_graphics.util import safe_ops
  from tensorflow_graphics.util import shape
  from tensorflow_graphics.util import type_alias
label_desc: Use image node_id 13 for calling a global function with example usage: normalized_random_uniform_initializer() and returns: _initializer, normalized_random_uniform