加载以前保存的数据集。
用法
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。