yolov7报错,怎么解决呀111😭

yolov7报错,怎么解决呀,之前nc有报错,可能是因为标签的文本有一个出错的缘故,改过之后依然报错😭

img


检查了全部数据集后依旧报错,就直接进行以下操作,
#assert mlc < nc, 'Label class %g exceeds nc=%g in %s. Possible class labels are 0-%g' % (mlc, nc, opt.data, nc - 1)
又出现了新的问题

img

你datasets.yaml文件改过了吗

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7796515
  • 你也可以参考下这篇文章:yolov7训练自己的数据集,踩坑不定时更新
  • 除此之外, 这篇博客: 【环境配置】超详细,YOLOV7训练自己的数据集中的 第三步,修改数据集配置文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ├── data
    │   ├── coco.yaml
    │   ├── hyp.scratch.p5.yaml
    │   ├── hyp.scratch.p6.yaml
    │   ├── hyp.scratch.tiny.yaml
    │   └── VisDrone.yaml
    

    以VisDrone数据集为例,新建一个自己的数据集yaml配置文件。里面主要涉及训练路径数据集类别数量以及每一类的名称

    • train: 更改为自己的训练集路径
    • val: 更改为自己的验证集路径
    • nc: 更改为自己的数据集类别数量
    • names: 更改为自己的数据集类别信息。
    train: ../datasets/VisDrone/train/images  # train images (relative to 'path')  6471 images
    val: ../datasets/VisDrone/val/images  # val images (relative to 'path')  548 images
    
    # Classes
    nc: 10  # number of classes
    names: ['pedestrian', 'people', 'bicycle', 'car', 'van', 'truck', 'tricycle', 'awning-tricycle', 'bus', 'motor']
    
  • 您还可以看一下 杨文杰老师的保姆级YoloV5目标检测实战课程中的 猫狗数据集标注小节, 巩固相关知识点

正常来说,标签是从0开始计算的,也就是如果你只有一类别的话,你的class id只有0.你这个报错的意思是你标签文件里面有class id为1的情况,要么是data.yaml中的nc类别数目设置错误,要么是标签文件错误,你自己查看一下哪里的问题。