code: def split_v2(ary, indices_or_sections, axis=0, squeeze_axis=False):
      
      indices = []
      sections = 0
      if isinstance(indices_or_sections, int):
          sections = indices_or_sections
      elif isinstance(indices_or_sections, tuple):
          indices = [0] + list(indices_or_sections)
      else:
          raise ValueError('indices_or_sections must either int or tuple of ints')
      return _internal._split_v2(ary, indices, axis, squeeze_axis, sections)
docs: Split an array into multiple sub-arrays.
  
      Parameters
      ----------
      ary : NDArray
          Array to be divided into sub-arrays.
      indices_or_sections : int or tuple of ints
          If `indices_or_sections` is an integer, N, the array will be divided
          into N equal arrays along `axis`.  If such a split is not possible,
          an error is raised.
          If `indices_or_sections` is a 1-D array of sorted integers, the entries
          indicate where along `axis` the array is split.  For example,
          ``[2, 3]`` would, for ``axis=0``, result in
          - ary[:2]
          - ary[2:3]
          - ary[3:]
          If an index exceeds the dimension of the array along `axis`,
          an empty sub-array is returned correspondingly.
      axis : int, optional
          The axis along which to split, default is 0.
      squeeze_axis: boolean, optional
          Whether to squeeze the axis of sub-arrays or not, only useful when size
          of the sub-arrays are 1 on the `axis`. Default is False.
  
      Returns
      -------
      out : Symbol
          The created Symbol