# tf.data.make_initializable_iterator

<br />

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

Creates a [`tf.compat.v1.data.Iterator`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Iterator) for enumerating the elements of a dataset.

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.data.make_initializable_iterator(
        dataset, shared_name=None
    )

> [!NOTE]
> **Note:** The returned iterator will be in an uninitialized state, and you must run the `iterator.initializer` operation before using it:

    dataset = ...
    iterator = tf.compat.v1.data.make_initializable_iterator(dataset)
    # ...
    sess.run(iterator.initializer)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dataset` | A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Dataset). |
| `shared_name` | (Optional.) If non-empty, the returned iterator will be shared under the given name across multiple sessions that share the same devices (e.g. when using a remote server). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A [`tf.compat.v1.data.Iterator`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/data/Iterator) over the elements of `dataset`. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `RuntimeError` | If eager execution is enabled. |

<br />