Internally it is just a matmul loop over single projective tranfroms matrix in the list (or batched):

  

      github.com
  

  
    tensorflow/addons/blob/master/tensorflow_addons/image/transform_ops.py#L177:L179 12



      
      
                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)
          
          

          
def flat_transforms_to_matrices(
              transforms: TensorLike, name: Optional[str] = None
          ) -> tf.Tensor:
              """Converts projective transforms to affine matrices.