引发pytorch:CUDA out of memory错误的原因有两个:
1.当前要使用的GPU正在被占用,导致显存不足以运行你要运行的模型训练命令不能正常运行
解决方法:
1.换另外的GPU
2.kill 掉占用GPU的另外的程序(慎用!因为另外正在占用GPU的程序可能是别人在运行的程序,如果是自己的不重要的程序则可以kill)
命令行中输入以下命令,可以查看当前正在GPU运行的程序:
nvidia-smi
再根据上面显示的正在运行程序的PID,输入以下查看进程的命令,可以查看到进程的相关信息,包括使用该进程的用户,时间,命令等
ps -f -p 12345 //你自己的要查询的pid
输出大致如下:
ps -f -p 进程号
# ps -f -p 5014
UID PID PPID C STIME TTY TIME CMD
root 5014 1 0 17:26 ? 00:00:00 /usr/local/apache/bin/httpd -k
杀死进程的命令:
kill 12345
强制杀死进程
kill -KILL 123456
2.可能是你要训练的模型所设置的batch-size太大了,GPU的显存满足不了
解决方法:
把batch-size调小一些,如设置常用的256 128 64 32 16等