训练神经网络时,出现如下错误:
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)
说明PyTorch占用的GPU空间没有释放
终端命令行输入 nvidia-smi显示GPU的使用情况以及占用GPU的进程
输入taskkill -PID 进程号 -F 结束占用的进程,比如 taskkill -PID 7392 -F
再次输入 nvidia-smi 查看GPU使用情况会发现GPU被占用的空间大大降低
除了GPU占用内存过高未释放以外,还有GPU设备挂了需要重启服务器或者电脑,以及设定参数过大,硬件条件跟不上而无法运行这两个原因
参考: