tf.raw_ops.ParallelInterleaveDatasetV4
Создает набор данных, который применяет f к выходным данным input_dataset.
tf.raw_ops.ParallelInterleaveDatasetV4(
input_dataset,
other_arguments,
cycle_length,
block_length,
buffer_output_elements,
prefetch_input_elements,
num_parallel_calls,
f,
output_types,
output_shapes,
deterministic='default',
metadata='',
name=None
)
Результирующий набор данных похож на InterleaveDataset, за исключением того, что записи из чередующихся наборов данных будут извлекаться параллельно.
Python API tf.data создает экземпляры этого оператора из Dataset.interleave(), если параметру num_parallel_calls этого метода задано любое значение, кроме None.
По умолчанию выходные данные этого набора данных будут детерминированными, что может привести к блокировке набора данных, если следующий элемент данных, который нужно вернуть, недоступен. Чтобы избежать блокировки из-за ожидания элемента в начале очереди, можно либо задать для атрибута deterministic значение "false", либо оставить его равным "default" и задать для параметра experimental_deterministic в tf.data.Options значение False. Это может повысить производительность за счет недетерминированного поведения.
| Аргументы | |
|---|---|
input_dataset | Tensor типа variant. Набор данных, выдающий поток аргументов для функции f. |
other_arguments | Список объектов Tensor. Дополнительные аргументы, передаваемые в f сверх тех, которые выдаются input_dataset. Вычисляются один раз при создании экземпляра набора данных. |
cycle_length | Tensor типа int64. Количество наборов данных (каждый создается путем применения f к элементам input_dataset), между которыми ParallelInterleaveDatasetV2 будет циклически переключаться по кругу. |
block_length | Tensor типа int64. Количество элементов, выдаваемых за один раз при каждом чередующемся вызове набора данных, возвращаемого f. |
buffer_output_elements | Tensor типа int64. Количество элементов, которое должен буферизировать каждый чередующийся итератор (аналогично преобразованию .prefetch() для каждого чередующегося итератора). |
prefetch_input_elements | Tensor типа int64. Определяет количество итераторов для предварительной выборки, позволяя буферам заполниться, а данным — загружаться заранее без блокировки основного потока. |
num_parallel_calls | Tensor типа int64. Определяет количество потоков, используемых для параллельного получения данных из входных наборов данных. Константу tf.data.experimental.AUTOTUNE Python API можно использовать, чтобы указать на необходимость автоматической настройки уровня параллелизма. |
f | Функция, декорированная с помощью @Defun. Функция, преобразующая элементы input_dataset, объединенные с other_arguments, в вариант Dataset, содержащий элементы, соответствующие output_types и output_shapes. |
output_types | Список tf.DTypes длиной >= 1. |
output_shapes | Список форм (каждая — это tf.TensorShape или список ints) длиной >= 1. |
deterministic | Необязательный string. По умолчанию — "default". Строка, указывающая детерминированность на уровне оператора. Параметр Deterministic определяет, разрешено ли чередованию возвращать элементы не по порядку, если следующий элемент недоступен, но доступен более поздний элемент. Возможные значения: "true", "false" и "default". Значение "default" означает, что детерминированность определяется параметром experimental_deterministic в tf.data.Options. |
metadata | Необязательный string. По умолчанию — "". |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Tensor типа variant. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/ParallelInterleaveDatasetV4