今天给数据集添加文件然后重新训练发现报错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倍