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。
subdivision:这个参数很有意思的,它会让你的每⼀个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*
找到仍然在占⽤GPU的进程PID
kill -9 pid # 表⽰强迫进程⽴即停⽌
知彼知己百战不殆
黑牡丹kill pid # 也可以终⽌进程