YOLO训练模型提⽰“CUDA_ERROR_OUT_OF_MEMORY”编译好yolov3进⾏测试时报错
CUDA Error: out of memory
darknet: ./src/cuda.c:36: check_error: Asrtion `0' failed.
解决办法:
1.CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Asrtio `0' failed.
需要修改所使⽤的模型cfg⽂件中的subdivision的参数。
摘要翻译由subdivisions=8改成subdivisions=64。
奥斯卡2015subdivision:这个参数很有意思的,它会让你的每⼀个batch不是⼀下⼦都丢到⽹络⾥。⽽是分成subdivi
sion对应数字的份数,⼀份⼀份的跑完后,在⼀起打包算作完成⼀次iteration。这样会降低对显存的占⽤情况。如果设置这个参数为1的话就是⼀次性把所有batch的图⽚都丢到⽹络⾥,如果为2的话就是⼀次丢⼀半。
报错是因为其申请了太多的内存⽽内存不够
若上述⽅法不能解决:
没有准考证怎么查四级成绩⼀般在使⽤shh连接服务器的时候,⽤GPU训练模型,由于操作习惯问题。终直接在终端⽤ctrl+z终⽌训练,此时GPU资源可能未⽴即释放,
高一物理教材
下次继续使⽤时有可能会报例如CUDA_ERROR_OUT_OF_MEMORY这种错误,就是提⽰显存不够。这时候需要⼈⼯来杀死占⽤GPU显存的进程。
这⼏天碰巧加载有⼀个较⼤的模型时,提⽰显存不⾜,特此解决:
这⾥就需要通过fur 找到nivdia对应的程序进程,然后杀掉(fur 显⽰使⽤指定⽂件或者⽂件系统的进程的PID。)。第⼀步安装如下软件:
在centos系统下,输⼊以下指令安装
口才培训推荐超越巅峰
yum install psmisc
然后,查看占⽤GPU资源的进程及ID
千峰培训
汉英翻译在线fur -v /dev/nvidia*
nevertheless用法找到仍然在占⽤GPU的进程PID
大写字母英文
kill -9 pid # 表⽰强迫进程⽴即停⽌
someonkill pid # 也可以终⽌进程