关于在训练Yolact模型时的报错解决方案

关于在训练Yolact模型时的报错解决方案

错误截图如下:

在这里插入图片描述

初次发现此问题,得出结论为pytorch版本过低,参考

JIT error after running for a long time #22170

修改pytorch版本至1.1.0后,错误并无改善.

然后改变思路自行查找出现问题的原因,根据报错的函数,查找资料猜测是由于数据集在CPU预处理后,在转换至GPU的过程中出现了问题.于是决定将每个batch所引用的数据路径打印出来, 排查是否是数据集问题导致报错.

修改data/coco.py:180 | PS:以下行数并不准确, 请自行参照上下文定位
在这里插入图片描述
修改data/coco.py:96-97
在这里插入图片描述
将图片路径添加至读取数据的返回值中
修改data/coco.py
在这里插入图片描述

修改train.py
从读取的数据提取出此batch的所有图片路径,并将数据恢复至训练所需的格式
在这里插入图片描述
由于报错都是由 losses = net(datum) 这句函数导致的报错
可将此处的报错用 try…except… 接收, 可一次性输出有问题的batch,无须多次重启训练
在这里插入图片描述
将batch调至1, 使报错的数据更加明显
训练输入如下:

在这里插入图片描述
在这里插入图片描述
经过一次迭代后共有4张图片突围入选, 将这4张图片从数据集中剔除后,将batch恢复至8再次开始训练
训练输出如下:
在这里插入图片描述
发现仍有batch报错, 继续训练,经过两次迭代后,共出现12组batch,经过查重后共筛选出6张问题图片
再次将问题图片剔除后,第三次开始训练,过程中并未再出现上面的错误,两次迭代后,在计算mAP时再次报错
在这里插入图片描述
查看代码后,发现是在修改读取数据的结构后产生的并发问题
修改eval.py:957
在这里插入图片描述
将多余的path接收
修改train.py使训练一次便计算mAP, 看问题是否解决.
经过验证, 问题解决.

PS:用于记录报错解决方案

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值