tf.raw_ops.ParallelInterleaveDatasetV2

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

tf.raw_ops.ParallelInterleaveDatasetV2(
    input_dataset, other_arguments, cycle_length, block_length, num_parallel_calls,
    f, output_types, output_shapes, sloppy=False, 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 Python API creates instances of this op from 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 to False, which can improve performance at the expense of non-determinism.

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 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 or list of ints) that has length >= 1.
  • sloppy: An optional bool. Defaults to False.
  • name: A name for the operation (optional).

Returns:

A Tensor of type variant.