code: def compose_transforms(
      transforms: TensorLike, name: Optional[str] = None
  ) -> tf.Tensor:
      """Composes the transforms tensors.
  
      Args:
        transforms: List of image projective transforms to be composed. Each
          transform is length 8 (single transform) or shape (N, 8) (batched
          transforms). The shapes of all inputs must be equal, and at least one
          input must be given.
        name: The name for the op.
  
      Returns:
        A composed transform tensor. When passed to `transform` op,
            equivalent to applying each of the given transforms to the image in
            order.
      """
      assert transforms, "transforms cannot be empty"
      with tf.name_scope(name or "compose_transforms"):
          composed = flat_transforms_to_matrices(transforms[0])
          for tr in transforms[1:]:
              # Multiply batches of matrices.
              composed = tf.matmul(
                  composed, flat_transforms_to_matrices(tr)
              )
          return matrices_to_flat_transforms(composed)
  
file_path: addons/tensorflow_addons/image/transform_ops.py
imports: import tensorflow
  from tensorflow_addons.image import utils
  from tensorflow_addons.utils.types import TensorLike
  from tensorflow_addons.image.utils import wrap, unwrap
  from typing import Optional
label_desc: Use image node_id 2 for calling a global function with example usage: compose_transforms(transforms, name) and returns: matrices_to_flat_transforms