内存缓存持有者¶
- class torchdata.datapipes.map.InMemoryCacheHolder(source_dp: MapDataPipe[T_co])¶
将来自源数据管道的元素存储在内存中(功能名称:
in_memory_cache
)。一旦某个项目被存储,它将保持不变,后续的检索将返回相同的元素。由于来自MapDataPipe
的项目是延迟计算的,因此这可以用来存储先前MapDataPipe
的结果并减少重复计算的次数。注意
默认的
cache
是一个Dict
。如果另一个数据结构更适合作为您使用的缓存- 参数:
source_dp – 读取元素并存储在内存中的源数据管道
示例
>>> from torchdata.datapipes.map import SequenceWrapper >>> source_dp = SequenceWrapper(range(10)) >>> cache_dp = source_dp.in_memory_cache() >>> list(cache_dp) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]