PinMemory¶
- class torchdata.datapipes.iter.PinMemory(source_datapipe, device=None, pin_memory_fn=<function pin_memory_fn>)¶
预取源 DataPipe 中的一个元素并将其移动到固定内存(函数名称:
pin_memory
)。当与MultiProcessingReadingService
一起使用时,此 DataPipe 将保留在主进程中,以防止重复创建 CUDA 上下文。- 参数:
source_datapipe – 从中将样本移动到固定内存的 IterDataPipe。
device – 用于固定样本的设备。
pin_memory_fn – 可选的可调用函数,用于将数据移动到固定内存。默认情况下提供了一个
pin_memory_fn
来处理通用对象。
示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> dp = IterableWrapper(file_paths).open_files().readlines().map(tokenize_fn).pin_memory()