解决:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2

引发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等

来源:universe_R

物联沃分享整理
物联沃-IOTWORD物联网 » 解决:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2

发表评论