我在 WSL2 中使用 PyTorch 训练深度学习模型时遇到内存增加和饱和的问题。虽然在具有完全相同代码的 Linux 操作系统上不会发生这种情况。唯一不同的是 PyTorch、Cuda 和操作系统的版本。我已经在两种不同的设置上对此进行了测试:
设置1:
nvidia-cublas-cu12==12.1.3.1 nvidia-cuda-cupti-cu12==12.1.105 nvidia-cuda-nvrtc-cu12==12.1.105 nvidia-cuda-runtime-cu12==12.1.105 nvidia-cudnn-cu12==8.9.2.26 nvidia-cufft-cu12==11.0.2.54 nvidia-curand-cu12==10.3.2.106 nvidia-cusolver-cu12==11.4.5.107 nvidia-cusparse-cu12==12.1.0.106 nvidia-nccl-cu12==2.19.3 nvidia-nvjitlink-cu12==12.4.127 nvidia-nvtx-cu12==12.1.105
设置2:
问题:
使用完全相同的代码,两种设置之间的内存利用率曲线不同。在设置 1 中,内存在训练过程中很快饱和,而在设置 2 中,内存使用量保持稳定,没有达到饱和。
问题:
采取的步骤:
任何见解或建议将不胜感激。谢谢!
我找到了解决方案。操作系统、Python 和材料都不是问题。只有 Pytorch。我刚刚使用相同的设置将 PyTorch 从 v2.2.2 降级到 v2.2.0,它的工作就像一个魅力。