刚配置好yolo v8的环境,兴致勃勃想要跑个实验试试,结果在第一个epoch就报错,貌似是内存不足导致的,遂谷歌。
发现在yolo v3的github上,已经有人提过类似issue,查看回答,发现貌似都是在docker容器中跑程序的时候出现这个错误,而我自己也确实是在组内GPU服务器的docker容器中跑的,运气真好。
解决办法如下:
先关闭docker容器与docker服务,进入到宿主机/var/lib/docker/containers目录,找到对应容器id的目录,修改hostconfig.json,将ipc mode由原来的private修改为host,然后保存,重启docker服务与docker容器,再运行程序,发现可以正常训练,解决
注:容器的hostconfig.json里面存放的是已有容器的配置,而在以后新建容器时可以直接实现设置好相关参数,从源头上避免再次出现此类问题