# tf.experimental.dtensor.unpack

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/dtensor/python/api.py#L322-L352) |

Unpacks a DTensor into [`tf.Tensor`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Tensor) components.

    tf.experimental.dtensor.unpack(
        tensor: Any
    ) -> Sequence[Any]

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.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `tensor` | The DTensor to unpack. |

<br />

<br />

<br />

<br />

| ## 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. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `RuntimeError` | When `unpack` is not called eagerly. |

<br />