当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch OnDiskCacheHolder用法及代码示例


本文简要介绍python语言中 torchdata.datapipes.iter.OnDiskCacheHolder 的用法。

用法:

class torchdata.datapipes.iter.OnDiskCacheHolder(source_datapipe: IterDataPipe, filepath_fn: Optional[Callable] = None, hash_dict: Optional[Dict[str, str]] = None, hash_type: str = 'sha256', extra_check_fn: Optional[Callable[[str], bool]] = None)

参数

  • source_datapipe-IterDataPipe

  • filepath_fn-给定来自 source_datapipe 的数据,返回本地文件系统上的文件路径。单个文件路径、元组或文件路径列表被接受为返回类型。并且,还允许生成文件路径的生成器函数。默认情况下,source_datapipe 中的数据直接用于判断缓存是否存在。

  • hash_dict-将文件名映射到其相应哈希值的字典。如果指定hash_dict,则在将数据保存到本地文件系统之前,将附加额外的哈希检查。如果数据不符合哈希,管道将引发错误。

  • hash_type-要应用的哈希函数的类型

  • extra_check_fn-对来自 filepath_fn 的给定文件路径执行额外验证的可选函数。

将多个DataPipe操作的输出缓存到本地文件,这通常是下载、解压缩等性能瓶颈(函数名称:on_disk_cache)。

必须使用.end_caching()停止跟踪DataPipe操作序列并将结果保存到本地文件。

示例

>>> 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}
>>> 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.org大神的英文原创作品 torchdata.datapipes.iter.OnDiskCacheHolder。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。