加載以前保存的數據集。
用法
tf.data.experimental.load(
path, element_spec=None, compression=None, reader_func=None
)
參數
-
path
必需的。指向先前保存的數據集的路徑。 -
element_spec
可選的。tf.TypeSpec
對象的嵌套結構與已保存數據集的元素結構相匹配,並指定單個元素組件的類型。如果未提供,則使用與已保存數據集一起保存的tf.TypeSpec
的嵌套結構。如果方法以圖形模式執行,則需要提供此參數。 -
compression
可選的。讀取數據時用於解壓縮數據的算法。支持的選項是GZIP
和NONE
。默認為NONE
。 -
reader_func
可選的。控製如何從分片中讀取數據的函數。如果存在,該函數將被跟蹤並作為圖形計算執行。
返回
-
tf.data.Dataset
實例。
拋出
-
FileNotFoundError
如果未指定element_spec
,則保存的tf.TypeSpec
的嵌套結構不能與保存的數據集一起定位。 -
ValueError
如果未指定element_spec
,並且方法以圖形模式執行。
示例用法:
import tempfile
path = os.path.join(tempfile.gettempdir(), "saved_data")
# Save a dataset
dataset = tf.data.Dataset.range(2)
tf.data.experimental.save(dataset, path)
new_dataset = tf.data.experimental.load(path)
for elem in new_dataset:
print(elem)
tf.Tensor(0, shape=(), dtype=int64)
tf.Tensor(1, shape=(), dtype=int64)
請注意,要加載以前保存的數據集,您需要指定 element_spec
- 已保存數據集元素的類型簽名,可以通過 tf.data.Dataset.element_spec
獲得。存在此要求,因此加載數據集的形狀推斷不需要執行 I/O。
如果使用了對已保存數據集進行分片的默認選項,則在加載時將保留已保存數據集的元素順序。
reader_func
參數可用於指定從各個分片加載元素的自定義順序。 reader_func
預計將采用單個參數——一個數據集的數據集,每個數據集包含一個分片的元素——並返回一個元素的數據集。例如,分片的順序可以在加載時打亂如下:
def custom_reader_func(datasets):
datasets = datasets.shuffle(NUM_SHARDS)
return datasets.interleave(lambda x:x, num_parallel_calls=AUTOTUNE)
dataset = tf.data.experimental.load(
path="/path/to/data", ..., reader_func=custom_reader_func)
相關用法
- 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用法及代碼示例
- Python tf.data.experimental.CsvDataset.interleave用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.data.experimental.load。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。