内存缓存持有者¶
- class torchdata.datapipes.iter.InMemoryCacheHolder(source_dp: IterDataPipe[T_co], size: Optional[int] = None)¶
将来自源数据管道的元素存储在内存中,如果指定,最多存储到大小限制(函数名称:
in_memory_cache
)。此缓存是 FIFO - 缓存已满后,将不会添加更多元素,直到之前的元素被生成并从缓存中弹出。- 参数::
source_dp – 从中读取元素并存储在内存中的源数据管道
size – 此数据管道可以在内存中容纳的最大大小(以兆字节为单位)。默认值为无限制。
示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> source_dp = IterableWrapper(range(10)) >>> cache_dp = source_dp.in_memory_cache(size=5) >>> list(cache_dp) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]