Makes a "one-shot" iterator that can be iterated only once.
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".
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 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). |
Returns | |
---|---|
A Tensor of type resource .
|