Dataset.interleave()
转换的并行版本。 (已弃用)
用法
tf.data.experimental.parallel_interleave(
map_func, cycle_length, block_length=1, sloppy=False,
buffer_output_elements=None, prefetch_input_elements=None
)
参数
-
map_func
将张量的嵌套结构映射到Dataset
的函数。 -
cycle_length
要并行交错的输入Dataset
的数量。 -
block_length
在前进到下一个输入Dataset
之前从输入Dataset
中提取的连续元素的数量。 -
sloppy
一个布尔值,通过允许无序生成元素来控制是否应该用确定性来换取性能。如果sloppy
是None
,则使用tf.data.Options.deterministic
数据集选项(默认为True
)来决定是否强制执行确定性顺序。 -
buffer_output_elements
每个被交错的迭代器应缓冲的元素数量(类似于每个交错迭代器的.prefetch()
转换)。 -
prefetch_input_elements
在需要交错之前要转换为迭代器的输入元素的数量。
返回
-
一个
Dataset
转换函数,可以传递给tf.data.Dataset.apply
。
警告:此函数已弃用。它将在未来的版本中删除。更新说明:使用tf.data.Dataset.interleave反而。如果需要草率执行,请使用tf.data.Options.deterministic
.
parallel_interleave()
在其输入中映射 map_func
以生成嵌套数据集,并交错输出它们的元素。与 tf.data.Dataset.interleave
不同,它从 cycle_length
嵌套数据集中并行获取元素,这增加了吞吐量,尤其是在存在落后者的情况下。此外,sloppy
参数可用于提高性能,方法是放宽以确定顺序生成输出的要求,并允许实现跳过其元素在请求时不易获得的嵌套数据集。
示例用法:
# Preprocess 4 files concurrently.
filenames = tf.data.Dataset.list_files("/path/to/data/train*.tfrecords")
dataset = filenames.apply(
tf.data.experimental.parallel_interleave(
lambda filename:tf.data.TFRecordDataset(filename),
cycle_length=4))
警告:如果 sloppy
是 True
,则生成元素的顺序是不确定的。
相关用法
- Python tf.data.experimental.prefetch_to_device用法及代码示例
- Python tf.data.experimental.RandomDataset.group_by_window用法及代码示例
- Python tf.data.experimental.SqlDataset.enumerate用法及代码示例
- Python tf.data.experimental.make_saveable_from_iterator用法及代码示例
- Python tf.data.experimental.SqlDataset.zip用法及代码示例
- Python tf.data.experimental.Counter用法及代码示例
- Python tf.data.experimental.SqlDataset.shard用法及代码示例
- Python tf.data.experimental.CsvDataset.window用法及代码示例
- Python tf.data.experimental.RandomDataset.cache用法及代码示例
- Python tf.data.experimental.SqlDataset.snapshot用法及代码示例
- Python tf.data.experimental.CsvDataset.apply用法及代码示例
- Python tf.data.experimental.DatasetInitializer用法及代码示例
- Python tf.data.experimental.ignore_errors用法及代码示例
- Python tf.data.experimental.unbatch用法及代码示例
- Python tf.data.experimental.RandomDataset.map用法及代码示例
- Python tf.data.experimental.CsvDataset.flat_map用法及代码示例
- Python tf.data.experimental.assert_cardinality用法及代码示例
- Python tf.data.experimental.CsvDataset.random用法及代码示例
- Python tf.data.experimental.save用法及代码示例
- Python tf.data.experimental.CsvDataset.cardinality用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.experimental.parallel_interleave。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。