code: def slice_shape(self, tensor_shape):
      
      tensor_layout = self.tensor_layout(tensor_shape)
      ret = []
      for tensor_dim, mesh_axis in zip(
          tensor_shape, tensor_layout.tensor_axis_to_mesh_axis):
        if mesh_axis is None:
          ret.append(tensor_dim.size)
        else:
          mesh_dim = self.shape[mesh_axis]
          if tensor_dim.size % mesh_dim.size != 0:
            raise ValueError(
                "Tensor dimension size not divisible by mesh dimension size:"
                " tensor_shape=%s tensor_layout=%s"
                % (tensor_shape, tensor_layout))
          ret.append(tensor_dim.size // mesh_dim.size)
      return ret
docs: Shape of each slice of the Tensor.
  
      Args:
        tensor_shape: Shape.
  
      Returns:
        list of integers with length tensor_shape.ndims.
  
      Raises:
        ValueError: If a Tensor dimension is not divisible by the corresponding
          Mesh dimension.