最新要闻

广告

手机

蚕蛹怎么保存可以冷冻吗 蚕蛹怎么保存?可以冷冻吗?

蚕蛹怎么保存可以冷冻吗 蚕蛹怎么保存?可以冷冻吗?

民生理财富竹固收优选14个月封闭4号年内涨3.8%

民生理财富竹固收优选14个月封闭4号年内涨3.8%

家电

【YOLOv5】一些不常见的报错及解决【持续更新】

来源:博客园


(资料图)

目录
  • AssertionError: Label class 4 exceeds nc=4 in /xxxxxx解决方法
    • 原因
    • 解决方法:(以我的情况为例)
  • RuntimeError: result type Float can‘t be cast to the desired output type long int
    • 原因
    • 解决方法
  • ImportError: libgthread-2.0.so.0: cannot open shared object file:
  • tensorboard :No dashboards are active for the current data set.
    • 问题描述
    • 解决方法

AssertionError: Label class 4 exceeds nc=4 in /xxxxxx解决方法

原因

一般是由于数据集的标签文件出现的类别数与自己设置的nc类别数不符。例如我原本要检测5类目标,则标签序号为0、1、2、3、4,nc数设置为5,如图:

而‘4’这一类mAP太低,所以想去掉,于是只把nc数改为4,所以出现报错。

解决方法:(以我的情况为例)

方法1.nc数改为4,再把标签文件里所有‘4’类删掉;方法2.还按nc数为5训练,最后mAP不计算‘4’类即可。

RuntimeError: result type Float can‘t be cast to the desired output type long int

原因

版本错误

解决方法

1.打开【utils】→【loss.py】;2.ctrl+f搜索anchors = self.anchors[i],将其替换为:anchors, shape = self.anchors[i], p[i].shape替换效果:

3.ctrl+f搜索indices.append,将那一行代码替换为indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1))) # image, anchor, grid,替换效果:4.保存运行,问题解决。

ImportError: libgthread-2.0.so.0: cannot open shared object file:

控制台执行两条命令即可:apt-get update apt-get install libglib2.0-dev

tensorboard :No dashboards are active for the current data set.

问题描述

训练过程中想用tensorboard查看,但在IDE中打不开,显示如图:自己复制地址到浏览器打开,干脆变成这样:

解决方法

找到events文件,我使用的是YOLOv5 6.0,events文件在runs/teain/exp文件夹下,如图:当然不同的exp如exp、exp2、exp3等等对应了不同的实验,每次实验都对应一个或多个(使用resume的话)events文件,找到你想打开的那一个,例如我想查看第二次实验(即exp2)的数据,则:

tensorboard --logdir runs/train/exp2

打开弹出的网址即可发现问题解决:注:本人使用的是云GPU,如果有一样的朋友需要注意,不能通过云GPU平台的terminal运行上述命令,否则还是没用。

关键词: