# tf.raw_ops.OneShotIterator

<br />

Makes a "one-shot" iterator that can be iterated only once.

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.raw_ops.OneShotIterator(
        dataset_factory,
        output_types,
        output_shapes,
        container='',
        shared_name='',
        name=None
    )

A one-shot iterator bundles the logic for defining the dataset and
the state of the iterator in a single op, which allows simple input
pipelines to be defined without an additional initialization
("MakeIterator") step.

One-shot iterators have the following limitations:

- They do not support parameterization: all logic for creating the underlying dataset must be bundled in the `dataset_factory` function.
- They are not resettable. Once a one-shot iterator reaches the end of its underlying dataset, subsequent "IteratorGetNext" operations on that iterator will always produce an `OutOfRange` error.

For greater flexibility, use "Iterator" and "MakeIterator" to define
an iterator using an arbitrary subgraph, which may capture tensors
(including fed values) as parameters, and which may be reset multiple
times by rerunning "MakeIterator".

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dataset_factory` | A function decorated with @Defun. A function of type `() -> DT_VARIANT`, where the returned DT_VARIANT is a dataset. |
| `output_types` | A list of `tf.DTypes` that has length `>= 1`. |
| `output_shapes` | A list of shapes (each a [`tf.TensorShape`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/TensorShape) or list of `ints`) that has length `>= 1`. |
| `container` | An optional `string`. Defaults to `""`. |
| `shared_name` | An optional `string`. Defaults to `""`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` of type `resource`. ||

<br />