# tf.raw_ops.ParallelInterleaveDatasetV2

<br />

Creates a dataset that applies `f` to the outputs of `input_dataset`.

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.raw_ops.ParallelInterleaveDatasetV2(
        input_dataset,
        other_arguments,
        cycle_length,
        block_length,
        num_parallel_calls,
        f,
        output_types,
        output_shapes,
        sloppy=False,
        metadata='',
        name=None
    )

The resulting dataset is similar to the `InterleaveDataset`, except that the
dataset will fetch records from the interleaved datasets in parallel.

The [`tf.data`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data) Python API creates instances of this op from
[`Dataset.interleave()`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset#interleave) when the `num_parallel_calls` parameter of that method
is set to any value other than `None`.

By default, the output of this dataset will be deterministic, which may result
in the dataset blocking if the next data item to be returned isn't available.
In order to avoid head-of-line blocking, one can set the
`experimental_deterministic` parameter of [`tf.data.Options`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Options) to `False`,
which can improve performance at the expense of non-determinism.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `input_dataset` | A `Tensor` of type `variant`. Dataset that produces a stream of arguments for the function `f`. |
| `other_arguments` | A list of `Tensor` objects. Additional arguments to pass to `f` beyond those produced by `input_dataset`. Evaluated once when the dataset is instantiated. |
| `cycle_length` | A `Tensor` of type `int64`. Number of datasets (each created by applying `f` to the elements of `input_dataset`) among which the `ParallelInterleaveDatasetV2` will cycle in a round-robin fashion. |
| `block_length` | A `Tensor` of type `int64`. Number of elements at a time to produce from each interleaved invocation of a dataset returned by `f`. |
| `num_parallel_calls` | A `Tensor` of type `int64`. Determines the number of threads that should be used for fetching data from input datasets in parallel. The Python API [`tf.data.experimental.AUTOTUNE`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/experimental#AUTOTUNE) constant can be used to indicate that the level of parallelism should be autotuned. |
| `f` | A function decorated with @Defun. A function mapping elements of `input_dataset`, concatenated with `other_arguments`, to a Dataset variant that contains elements matching `output_types` and `output_shapes`. |
| `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`. |
| `sloppy` | An optional `bool`. Defaults to `False`. |
| `metadata` | An optional `string`. Defaults to `""`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

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

<br />