# tf.data.experimental.get_structure

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/data/ops/dataset_ops.py#L4321-L4359) |

Returns the type signature for elements of the input dataset / iterator.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.data.experimental.get_structure`](https://www.tensorflow.org/api_docs/python/tf/data/experimental/get_structure)

<br />

    tf.data.experimental.get_structure(
        dataset_or_iterator
    )

For example, to get the structure of a [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset):

    dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
    tf.data.experimental.get_structure(dataset)
    TensorSpec(shape=(), dtype=tf.int32, name=None)

    dataset = tf.data.experimental.from_list([(1, 'a'), (2, 'b'), (3, 'c')])
    tf.data.experimental.get_structure(dataset)
    (TensorSpec(shape=(), dtype=tf.int32, name=None),
     TensorSpec(shape=(), dtype=tf.string, name=None))

To get the structure of an [`tf.data.Iterator`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Iterator):

    dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
    tf.data.experimental.get_structure(iter(dataset))
    TensorSpec(shape=(), dtype=tf.int32, name=None)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dataset_or_iterator` | A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset) or an [`tf.data.Iterator`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Iterator). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A (nested) structure of [`tf.TypeSpec`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/TypeSpec) objects matching the structure of an element of `dataset_or_iterator` and specifying the type of individual components. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `TypeError` | If input is not a [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset) or an [`tf.data.Iterator`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Iterator) object. |

<br />