code: def tensor_layout(self, tensor_shape, mesh_shape):
      
      ret = [self.tensor_dimension_to_mesh_axis(d, mesh_shape)
             for d in tensor_shape]
      not_nones = [a for a in ret if a is not None]
      if len(not_nones) != len(set(not_nones)):
        raise ValueError(
            "Two Tensor Dimensions may not map to the same Mesh Dimension:"
            " layout=%s tensor_shape=%s mesh_shape=%s " %
            (self, tensor_shape, mesh_shape))
      return TensorLayout(ret)
docs: Computes TensorLayout given a Tensor Shape and a Mesh Shape.
  
      Args:
        tensor_shape: Shape.
        mesh_shape: Shape.
  
      Returns:
        TensorLayout.
  
      Raises:
        ValueError: If two Tensor Dimensions map to the same Mesh Dimensions.