tf.raw_ops.ParallelInterleaveDataset
Создаёт набор данных, применяющий f к результатам input_dataset.
tf.raw_ops.ParallelInterleaveDataset(
input_dataset, other_arguments, cycle_length, block_length, sloppy,
buffer_output_elements, prefetch_input_elements, f, output_types, output_shapes,
name=None
)
Полученный набор данных похож на InterleaveDataset, за исключением того, что если получение следующего значения из набора данных приведёт к блокировке запроса, то этот входной набор данных будет пропущен. Этот набор данных особенно полезен при загрузке данных из источников с переменной задержкой (например, HDFS, GCS), так как он позволяет шагу обучения продолжить работу, пока доступны какие-то данные.
!! ПРЕДУПРЕЖДЕНИЕ !! Если параметр sloppy установлен на True, работа этого набора данных не будет детерминированной!
Этот набор данных устарел и заменён на ParallelInterleaveDatasetV2. Новый код должен использовать ParallelInterleaveDatasetV2.
API Python tf.data.experimental.parallel_interleave создаёт экземпляры этого оператора. tf.data.experimental.parallel_interleave является устаревшим API.
| Аргументы | |
|---|---|
input_dataset | Tensor типа variant. Набор данных, генерирующий поток аргументов для функции f. |
other_arguments | Список объектов Tensor. Дополнительные аргументы для передачи в f помимо тех, которые генерирует input_dataset. Вычисляется один раз при создании набора данных. |
cycle_length | Tensor типа int64. Количество наборов данных (каждый создаётся применением f к элементам input_dataset), среди которых ParallelInterleaveDataset будет циклически переключаться по кругу. |
block_length | Tensor типа int64. Количество элементов, которые нужно получить одновременно от каждого переплетённого вызова набора данных, возвращаемого f. |
sloppy | Tensor типа bool. Если True, возвращать элементы по мере их появления, даже если это означает возврат этих элементов в непредсказуемом порядке. Небрежная работа может привести к лучшему выполнению при наличии отстающих элементов, но набор данных всё равно будет блокировать, если все открытые потоки заблокированы. Если False, всегда возвращать элементы в детерминированном порядке. |
buffer_output_elements | Tensor типа int64. Количество элементов, которое каждый переплетаемый итератор должен буферизовать (аналогично преобразованию .prefetch() для каждого переплетённого итератора). |
prefetch_input_elements | Tensor типа int64. Определяет количество итераторов для предварительной выборки, позволяя буферам разогреться и данные быть предварительно загружены без блокирования основной потоковой задачи. |
f | Функция, декорированная @Defun. Функция, отображающая элементы input_dataset, соединённые с other_arguments, на набор данных (Dataset variant) с элементами, соответствующими output_types и output_shapes. |
output_types | Список tf.DTypes, длина которого равна >= 1. |
output_shapes | Список форм (каждая форма — tf.TensorShape или список ints), длина которого равна >= 1. |
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/ParallelInterleaveDataset