AssertionError:标签类 15 超出 data/coco128.yaml 中的 nc=1。可能的类标签是 0-0

2023-12-10

最近几天我一直在构建 yolov5 环境并尝试运行它。我使用以下代码来测试我的设置是否成功。

python train.py --img 640 --data data/coco128.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --batch-size 16 --epochs 100

然后它给了我以下错误,我试图在谷歌上找到答案,但我没有看到任何有用的东西。我现在很沮丧。有人可以帮我吗?对此,我真的非常感激。

Transferred 362/370 items from weights/yolov5s.pt
Optimizer groups: 62 .bias, 70 conv.weight, 59 other
Scanning labels data\coco128\labels\train2017.cache (32 found, 0 missing, 0 empty, 0 duplicate, for 32 images): 32it [00:00, 3270.57it/s]
Traceback (most recent call last):
  File "train.py", line 456, in <module>
    train(hyp, opt, device, tb_writer)
  File "train.py", line 172, in train
    assert mlc < nc, 'Label class %g exceeds nc=%g in %s. Possible class labels are 0-%g' % (mlc, nc, opt.data, nc - 1)
AssertionError: Label class 15 exceeds nc=1 in data/coco128.yaml. Possible class labels are 0-0

我真的不使用这个网站。对不起。

attached image


我也发现了这个确切的错误。

在您为注释创建的 .txt 文件中,将有一个整数后跟四个浮点数(即 13 0.3434 0.251 0.4364 0.34353) - 类似的东西。

此错误本质上表明您的类数量(即您尝试训练到模型中的不同对象的数量)对于您正在使用的类的 ID 编号而言太低。在上面的示例中,ID 为 13(包含 0 以来的第 14 个类)。如果我设置 nc=1,那么我只能在类(0)上。我需要设置 nc=14 并确保 0-12 存在。

要解决此问题,只需更改类,以便 ID 位于您选择的类数量内。对于 nc=1,您只需要 class/ID = 0。

请注意(我对此感到不满),请在重新运行训练之前删除 train.cache。这给我带来了一点麻烦,因为我仍然可以确定我的课程数>0,而我却没有。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AssertionError:标签类 15 超出 data/coco128.yaml 中的 nc=1。可能的类标签是 0-0 的相关文章

随机推荐