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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。