快捷方式

EndOnDiskCacheHolder

class torchdata.datapipes.iter.EndOnDiskCacheHolder(datapipe, mode='wb', filepath_fn=None, *, same_filepath_fn=False, skip_read=False, timeout=300)

指示先前 DataPipe 的结果何时将保存到由 filepath_fn 指定的本地文件(功能名称:end_caching)。此外,源 DataPipe 的结果需要是元数据和数据的元组,或元数据和文件句柄的元组。

参数:
  • datapipe – 图中至少有一个 OnDiskCacheHolder 的 IterDataPipe。

  • mode – 在磁盘上打开缓存文件以写入数据的模式。这需要与 datapipe 中的数据或文件句柄类型保持一致。"wb" 为默认值。

  • filepath_fn – 可选函数,用于从 datapipe 的元数据中提取文件路径。默认情况下,它将直接使用 ?metadata? 作为文件路径。

  • same_filepath_fn – 设置为 True 以使用 OnDiskCacheHolder 中的相同 filepath_fn

  • skip_read – 布尔值,用于跳过读取 datapipe 中的文件句柄。默认情况下,读取已启用,并且读取函数是根据 mode 创建的。

  • timeout – 等待未缓存项目写入磁盘的秒数的整数。

示例

>>> from torchdata.datapipes.iter import IterableWrapper, HttpReader
>>> url = IterableWrapper(["https://path/to/filename", ])
>>> def _filepath_fn(url):
>>>     temp_dir = tempfile.gettempdir()
>>>     return os.path.join(temp_dir, os.path.basename(url))
>>> hash_dict = {"expected_filepath": expected_MD5_hash}
>>> # You must call ``.on_disk_cache`` at some point before ``.end_caching``
>>> cache_dp = url.on_disk_cache(filepath_fn=_filepath_fn, hash_dict=_hash_dict, hash_type="md5")
>>> # You must call ``.end_caching`` at a later point to stop tracing and save the results to local files.
>>> cache_dp = HttpReader(cache_dp).end_caching(mode="wb", filepath_fn=_filepath_fn)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源