code: def _parse_split_shape(split_shape):
          
          if isinstance(split_shape, int):
              return split_shape, split_shape
          if isinstance(split_shape, (tuple, list)):
              if len(split_shape) == 2 and isinstance(split_shape[0], int) and isinstance(split_shape[1], int):
                  return split_shape[0], split_shape[1]
              raise ValueError("Content of split_shape {} must be 2 integers.".format(split_shape))
          raise ValueError("Split shape must be an int or a tuple of 2 integers.")
docs: Parses the parameter `split_shape`
  
          :param split_shape: The parameter `split_shape` from class initialization
          :type split_shape: int or (int, int)
          :return: A tuple of n
          :rtype: (int, int)
          :raises: ValueError