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 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. Определяет количество потоков, которые следует использовать для параллельного извлечения данных из входных наборов данных. Постоянная Python API 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 | Необязательный string. По умолчанию "default". Строка, указывающая уровень детерминизма на уровне оператора. Детерминизм контролирует, разрешается ли переплетению возвращать элементы вне порядка, если следующий возвращаемый элемент недоступен, но позже доступен другой элемент. Доступные варианты: «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/versions/r2.9/api_docs/python/tf/raw_ops/ParallelInterleaveDatasetV4