今天用pytorch训练神经网络时,出现如下错误:

RuntimeError: CUDA out of memory. Tried to allocate 144.00 MiB (GPU 0; 2.00 GiB total capacity; 1.29 GiB already allocated; 79.00 MiB free; 1.30 GiB reserved in total by PyTorch)

明明 GPU 0 有2G容量,为什么只有 79M 可用? 并且 1.30G已经被PyTorch占用了。这就说明PyTorch占用的GPU空间没有释放,导致下次运行时,出现CUDA out of memory

解决方法如下:

(1)新建一个终端
在这里插入图片描述
(2)输入 nvidia-smi,会显示GPU的使用情况,以及占用GPU的应用程序
在这里插入图片描述
(3)输入taskkill -PID 进程号 -F 结束占用的进程,比如 taskkill -PID 7392 -F
在这里插入图片描述
(4)再次输入 nvidia-smi 查看GPU使用情况,会发现GPU被占用的空间大大降低,这样我们就可以愉快地使用GPU运行程序了

在这里插入图片描述

【参考文档】

CUDA out of memory.(已解决)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐