code: def hsplit(
      ary: Union[tf.Tensor, tf.Variable],
      indices_or_sections: Union[int, Tuple[int, ...]],
      /,
      *,
      copy: Optional[bool] = None,
  ) -> List[Union[tf.Tensor, tf.Variable]]:
      if len(ary.shape) == 1:
          return ivy.split(
              ary, num_or_size_splits=indices_or_sections, axis=0
          )
      return ivy.split(
          ary, num_or_size_splits=indices_or_sections, axis=1
      )
  
imports: from collections import namedtuple
  from typing import Iterable, Union, Optional, Sequence, Tuple, NamedTuple, List, Literal, Callable, Any
  from numbers import Number
  import tensorflow
  from ivy.func_wrapper import with_unsupported_dtypes
  from ..None import backend_version
  import ivy
  from ivy.functional.ivy.experimental.manipulation import _to_tf_padding
label_desc: Use image node_id 17 for calling a global function with example usage: hsplit() and returns: ivy, ivy