code: def unpack(tensor: Any) -> Sequence[Any]:
      """Unpacks a DTensor into `tf.Tensor` components.
  
      Packing and unpacking are inverse operations:
  
      ```
      * unpack(pack(tensors)) == tensors
      * pack(unpack(dtensor)) == dtensor
      ```
  
      1. For any DTensor on the mesh, `unpack` returns the raw components placed on
         each underlying device.
      2. Packing these raw components in the same order using `pack` returns a
         DTensor which should be identical to the original DTensor--both the content
         value and the layout.
  
      See the documentation for `pack` for more information about how packing and
      unpacking works.
  
      Args:
        tensor: The DTensor to unpack.
  
      Returns:
        The individual component tensors of the DTensor. This will include only the
        client-local components, i.e. the components placed on the local devices.
  
      Raises:
        RuntimeError: When `unpack` is not called eagerly.
      """
      return _dtensor_device().unpack(tensor)
  
imports: import contextlib
  import threading
  from typing import Any, Callable, Optional, Sequence
  from tensorflow.dtensor.python import dtensor_device
  from tensorflow.dtensor.python import gen_dtensor_ops
  from tensorflow.dtensor.python import layout
  from tensorflow.python.eager import context
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.util import deprecation
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 9 for calling a global function with example usage: unpack(tensor) and returns: _dtensor_device