当前位置: 首页 > 工具软件 > Label In > 使用案例 >

yolov5报错AssertionError: Label class %g exceeds nc=%g in %s. Correct your labels or your model.

章学义
2023-12-01

今天给数据集添加文件然后重新训练发现报错AssertionError: Label class 2 exceeds nc=2 in %s. Correct your labels or your model.

错误原因1:标注中的类超了比如一共2个类标注中的类应该是0和1,结果出现了2也就是3个类

修改方法:检查标注文件:附赠检查代码我是2个类所以是0和1如果更多请自行修改:

import os

path = "目录路径"

# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)
alldata = []
for i in fileList:
    with open(path+i, "r") as f:  # 打开文件
        data = f.readlines()  # 读取文件
        alldata.append(data)
        for j in data :
            #print(j)
            if  j[0] == '0' or j[0] == '1':
                continue
            else:
                print(i)

错误原因2:训练集应该是验证集比例

      我修改了训练集和测试集的类发现还出错,最后百度到https://blog.csdn.net/qq_32044759/article/details/115689979发现使训练集和验证集的比例设置问题

修改方法:增加训练集数量使训练集大于验证集数量的4倍

 

 类似资料: