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, за исключением того, что набор данных будет получать записи из переплетённых наборов данных параллельно.
API Python tf.data создаёт экземпляры этого оператора из Dataset.interleave(), когда параметр num_parallel_calls этого метода установлен на любое значение, кроме None.
По умолчанию вывод этого набора данных будет детерминированным, что может привести к блокировке набора данных, если следующий элемент данных для возврата недоступен. Чтобы избежать блокировки по принципу «головы очереди», можно либо установить атрибут deterministic в «false», либо оставить его по умолчанию и установить параметр 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. Определяет количество потоков, которые должны использоваться для параллельного извлечения данных из входных наборов данных. В API Python можно использовать константу tf.data.experimental.AUTOTUNE, чтобы указать, что уровень параллелизма должен быть настроен автоматически. |
f | Функция, декорированная @Defun. Функция, сопоставляющая элементы input_dataset, конкатенированные с other_arguments, с вариантом набора данных, содержащим элементы, соответствующие output_types и output_shapes. |
output_types | Список tf.DTypes длиной >= 1. |
output_shapes | Список форм (каждая — tf.TensorShape или список ints) длиной >= 1. |
deterministic | Необязательная строка. По умолчанию "default". Строка, указывающая уровень детерминизма на уровне оператора. Детерминированность контролирует, разрешается ли оператору возвращать элементы вне порядка, если следующий возвращаемый элемент недоступен, но позже доступен другой элемент. Доступные значения: «true», «false» и «default». «default» означает, что детерминизм должен решаться с помощью параметра experimental_deterministic метода tf.data.Options. |
metadata | Необязательный параметр. По умолчанию "". |
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