YOLOv5-6.1训练一个四分类模型时出现如下错误,请问大家如何修改
File "F:\yolo\road_detect\yolov5-v6.1\utils\loss.py", line 148, in __call__
t[range(n), tcls[i]] = self.cp
IndexError: index 9 is out of bounds for dimension 1 with size 4
分类请运行yolov5/classify/train.py这个文件,而不是yolov5/train.py,这两个是不一样的
不知道你这个问题是否已经解决, 如果还没有解决的话:confusion_matrix.png(混淆矩阵)
混淆矩阵能对分类问题的预测结果进行总结,显示了分类模型的在进行预测时会对哪一部分产生混淆。纵轴为预测值,横轴为真实值。
F1_curve:
F1分数与置信度之间的关系。F1分数(F1-score)是分类问题的一个衡量指标,是精确率precision和召回率recall的调和平均数,最大为1,最小为0, 1是最好,0是最差
labels.jpg
第一个图 classes:每个类别的数据量
第二个图 labels:标签
第三个图 center xy
第四个图 labels 标签的长和宽
P_curve.png :
准确率precision和置信度confidence的关系图
PR_curve.png:
PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。PR曲线下围成的面积即AP,所有类别AP平均值即Map.
如果PR图的其中的一个曲线A完全包住另一个学习器的曲线B,则可断言A的性能优于B,当A和B发生交叉时,可以根据曲线下方的面积大小来进行比较。一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好)。
R_curve.png :召回率和置信度之间的关系
观察上述截图可发现,博主的模型比较辣鸡(毕竟设备不行,用的数据集较少,导致准确度不高)。