code: def _unstack(value, num=None, axis=0, name="unstack"):
      del name
      value = ops.convert_to_tensor(value)
      if axis == 0:
          return list(value)
      if num is None:
          num = value.shape[axis]
      if num == 0:
          return []
      return list(
          np.squeeze(x, axis=axis) for x in np.split(value, num, 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 21 for calling a global function with example usage: _unstack(value, num, axis, name) and returns: list, list, list