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, с вариантом набора данных, содержащим элементы, соответствующие 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.3/api_docs/python/tf/raw_ops/ParallelInterleaveDataset