code: def _split(
      value, num_or_size_splits, axis=0, num=None, name="split"
  ):  # pylint: disable=unused-argument
      """Map tf.split -> np.split."""
      if np.isscalar(num_or_size_splits):
          return np.split(value, num_or_size_splits, axis)
  
      indices_or_sections = onp.array(num_or_size_splits)
      if indices_or_sections.ndim == 1:
          if any(idx == -1 for idx in indices_or_sections):
              # Numpy parameterizes by split indices and returns nsplits+1 arrays.
              total_splits = sum(
                  idx for idx in indices_or_sections if idx != -1
              )
              remainder = int(
                  max(0, np.array(value).shape[axis] - total_splits)
              )
              indices_or_sections = [
                  idx if idx != -1 else remainder
                  for idx in indices_or_sections
              ]
          indices_or_sections = onp.cumsum(
              onp.array(indices_or_sections)
          )[:-1]
      return np.split(value, indices_or_sections, axis)
  
imports: import functools
  import numpy
  import numpy
  from tensorflow_probability.python.internal.backend.numpy import _utils
  from tensorflow_probability.python.internal.backend.numpy import ops
  from tensorflow_probability.python.internal.backend.numpy.linalg_impl import einsum
  from tensorflow_probability.python.internal.backend.numpy.linalg_impl import norm
  from tensorflow_probability.python.internal.backend.numpy.linalg_impl import tensordot
label_desc: Use image node_id 18 for calling a global function with example usage: _split(value, num_or_size_splits, axis, num, name) and returns: np, np