doc解释:
https://pytorch.org/docs/stable/_modules/torch/utils/data/dataloader.html#DataLoader
pin_memory (bool, optional): IfTrue, the data loader will copy tensors into CUDA pinned memory before returning them.
通常情况下,由于虚拟内存技术的存在,数据要么在内存中以锁页(“pinned”)的方式存在,要么保存在虚拟内存(磁盘)中。而cuda只接受锁页内存传入,所以在声明新的dataloader对象时,直接令其保存在锁页内存中,后续即可快速传入cuda。否则,数据需要从虚拟内存中先传入锁页内存,再传入cuda,速度将大大增加。其缺点是对于内存的大小要求较高。
参考:https://devblogs.nvidia.com/how-optimize-data-transfers-cuda-cc/
PyTorch DataLoader优化技巧
本文探讨了PyTorch中DataLoader的pin_memory参数的作用及其对GPU数据传输速度的影响。当设置为True时,DataLoader会将数据复制到CUDA锁定内存,从而加快数据传入GPU的速度,但可能会增加对内存的需求。
2066

被折叠的 条评论
为什么被折叠?



