今天在docker内使用mmdetection做训练时,workers_per_gpu参数设置为0时,可以正常训练。但修改配置文件中workers_per_gpu=2参数后,

开始训练,程序报错:

网上查资料显示,是因为docker的共享内存不足,使用命令df -h查看:

shm果然很小。
有两种解决办法:
1.重启docker容器,在重启docker容器时,使用 --shm-size 8g 参数,指定docker运行时的挂在内存:
![]()
启动docker之后,使用 df -h 查看此时的shm:

已经发生变化, 执行训练命令,正常。
2.还有一种方法是,找到容器对应的配置文件hostconfig.json,修改参数"ShmSize"。重启doker。
个人建议使用第一种方法。
参考:
https://www.jianshu.com/p/4398bdb9e2d2
本文解决在Docker环境下使用mmdetection进行深度学习模型训练时,因workers_per_gpu参数设置不当导致的训练失败问题。文章详细介绍了如何通过调整Docker的共享内存大小来解决此错误,并提供了两种解决方案。
2478

被折叠的 条评论
为什么被折叠?



