mmdetection踩坑1~docker内RuntimeError: DataLoader worker (pid 1727) is killed by signal: Bus errer

今天在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

http://sdsy888.me/%E6%A1%86%E6%9E%B6-Framework/%E9%9A%8F%E7%AC%94-Writing/2019/docker%E8%BF%90%E8%A1%8Cpytorch%E6%8A%A5%E9%94%99%EF%BC%9ARuntimeError-DataLoader-worker-pid-493-is-killed-by-signal-Bus-error-Details-are-lost-due-to-multiprocessing-Rerunning-with-num-workers-0-may-give-better-error-trace/

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值