用法
cache(
filename='', name=None
)
参数
-
filename
tf.string
标量tf.Tensor
,表示文件系统上用于缓存此数据集中元素的目录名称。如果未提供文件名,则数据集将缓存在内存中。 -
name
(可选。) tf.data 操作的名称。
返回
-
Dataset
一个Dataset
。
缓存此数据集中的元素。
第一次迭代数据集时,其元素将缓存在指定文件或内存中。随后的迭代将使用缓存的数据。
注意:为了最终确定缓存,必须对输入数据集进行整体迭代。否则,后续迭代将不会使用缓存数据。
dataset = tf.data.Dataset.range(5)
dataset = dataset.map(lambda x:x**2)
dataset = dataset.cache()
# The first time reading through the data will generate the data using
# `range` and `map`.
list(dataset.as_numpy_iterator())
[0, 1, 4, 9, 16]
# Subsequent iterations read from the cache.
list(dataset.as_numpy_iterator())
[0, 1, 4, 9, 16]
缓存到文件时,缓存的数据将在运行中持续存在。即使是数据的第一次迭代也会从缓存文件中读取。在调用 .cache()
之前更改输入管道将无效,直到删除缓存文件或更改文件名。
dataset = tf.data.Dataset.range(5)
dataset = dataset.cache("/path/to/file")
list(dataset.as_numpy_iterator())
# [0, 1, 2, 3, 4]
dataset = tf.data.Dataset.range(10)
dataset = dataset.cache("/path/to/file") # Same file!
list(dataset.as_numpy_iterator())
# [0, 1, 2, 3, 4]
注意: cache
将在数据集的每次迭代期间产生完全相同的元素。如果您希望随机化迭代顺序,请确保调用shuffle
后调用cache
.
相关用法
- Python tf.data.experimental.SqlDataset.cardinality用法及代码示例
- Python tf.data.experimental.SqlDataset.concatenate用法及代码示例
- Python tf.data.experimental.SqlDataset.choose_from_datasets用法及代码示例
- Python tf.data.experimental.SqlDataset.enumerate用法及代码示例
- Python tf.data.experimental.SqlDataset.zip用法及代码示例
- Python tf.data.experimental.SqlDataset.shard用法及代码示例
- Python tf.data.experimental.SqlDataset.snapshot用法及代码示例
- Python tf.data.experimental.SqlDataset.get_single_element用法及代码示例
- Python tf.data.experimental.SqlDataset.take用法及代码示例
- Python tf.data.experimental.SqlDataset.random用法及代码示例
- Python tf.data.experimental.SqlDataset.range用法及代码示例
- Python tf.data.experimental.SqlDataset.from_tensor_slices用法及代码示例
- Python tf.data.experimental.SqlDataset.from_generator用法及代码示例
- Python tf.data.experimental.SqlDataset.rejection_resample用法及代码示例
- Python tf.data.experimental.SqlDataset.from_tensors用法及代码示例
- Python tf.data.experimental.SqlDataset.group_by_window用法及代码示例
- Python tf.data.experimental.SqlDataset.skip用法及代码示例
- Python tf.data.experimental.SqlDataset.unique用法及代码示例
- Python tf.data.experimental.SqlDataset.bucket_by_sequence_length用法及代码示例
- Python tf.data.experimental.SqlDataset.prefetch用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.experimental.SqlDataset.cache。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。