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', name=None
)
Получаемый набор данных похож на InterleaveDataset, за исключением того, что набор данных будет получать записи из переплетённых наборов данных параллельно.
Python API 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. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Tensor типа variant. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/ParallelInterleaveDatasetV4