yolov8模型训练结果分析以及如何评估yolov8模型训练的效果

news/2024/7/11 0:07:09 标签: YOLO, 机器学习, python

1.运行结果目录

在这里插入图片描述

一、 confusion_matrix_normalized.png和confusion_matrix.png

混淆矩阵

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

混淆矩阵以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。

  • TP(True Positive): 将正类预测为正类数 即正确预测,真实为0,预测也为0
  • FN (False Negative):将正类预测为负类 即错误预测,真实为0,预测为1
  • FP(False Positive):将负类预测为正类数 即错误预测, 真实为1,预测为0
  • TN (True Negative):将负类预测为负类数,即正确预测,真实为1,预测也为1

精确率和召回率的计算方法

  • 精确率Precision=TP / (TP+FP), 在预测是Positive所有结果中,预测正确的比重
  • 召回率recall=TP / (TP+FN), 在真实值为Positive的所有结果中,预测正确的比重

二、F1_curve.png

F1分数,它被定义为查准率和召回率的调和平均数

一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。

F1-Score的值是从0到1的,1是最好,0是最差。

在这里插入图片描述

在这里插入图片描述

这是300epoch得到的F1_curve,说明在置信度为0.4-0.6区间内得到比较好的F1分数

三、hyp.yaml和opt.yaml

训练时的超参数以及train.py中间的参数

四、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发生交叉时,可以根据曲线下方的面积大小来进行比较。一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好)

Precision和Recall往往是一对矛盾的性能度量指标;及一个的值越高另一个就低一点;
提高Precision < == > 提高二分类器预测正例门槛 < == > 使得二分类器预测的正例尽可能是真实正例;
提高Recall < == > 降低二分类器预测正例门槛 < == >使得二分类器尽可能将真实的正例挑选

六、R_curve.png

召回率recall和置信度confidence之间的关系

在这里插入图片描述

七、results.png

在这里插入图片描述

Box:Box推测为GIoU损失函数均值,越小方框越准;
Objectness:推测为目标检测loss均值,越小目标检测越准;
Classification:推测为分类loss均值,越小分类越准,本实验为一类所以为0;
Precision:精度(找对的正类/所有找到的正类);

Recall:真实为positive的准确率,即正样本有多少被找出来了(召回了多少)。

Recall从真实结果角度出发,描述了测试集中的真实正例有多少被二分类器挑选了出来,即真实的正例有多少被该二分类器召回。

val BOX: 验证集bounding box损失

val Objectness:验证集目标检测loss均值

val classification:验证集分类loss均值,本实验为一类所以为0

mAP是用Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值,@0.5:0.95表示阈值取0.5:0.05:0.95后取均值。

mAP@.5:.95(mAP@[.5:.95])
表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。

mAP@.5:表示阈值大于0.5的平均mAP

一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好)
然后观察mAP@0.5 & mAP@0.5:0.95 评价训练结果。

八、results.txt

在这里插入图片描述

九、train_batchx

我设置的batch_size为16所以一次读取16张图片

在这里插入图片描述

十、val_batchx_labels

验证集第一轮的实际标签

在这里插入图片描述

十一、运行tensorboard

activate yolov7(自己所配的环境名称)
tensorboard --logdir=训练结果所在的文件夹

http://www.niftyadmin.cn/n/398582.html

相关文章

深入理解JavaScript中的递归

递归是一种强大而常用的编程技巧&#xff0c;特别在JavaScript中经常被用来解决各种问题。它允许函数在执行过程中调用自身&#xff0c;从而实现对重复或具有层次结构的问题进行处理。 一.什么是递归&#xff1f; 递归是一种编程技巧&#xff0c;它允许一个函数在执行过程中调…

ubuntu20.04 桌面版Session and Startup设置 Application Autostart对应哪个配置文件

在Ubuntu 20.04的桌面版中&#xff0c;"Session and Startup"的"Application Autostart"设置对应的配置文件是~/.config/autostart/目录下的.desktop文件。 每个启动项都会在该目录中创建一个.desktop文件&#xff0c;用于指定要在登录时自动启动的应用程…

【星戈瑞解析】荧光标记多肽的优缺点-穿膜肽/靶向肽/肽链

荧光标记多肽是一种利用荧光标记技术对蛋白质进行标记的多肽&#xff0c;可以用于蛋白质定量、结构研究、信号转导等方面的研究。荧光标记多肽的优点包括&#xff1a; 1.高灵敏度&#xff1a;荧光标记可以增强蛋白质的检测灵敏度&#xff0c;可以检测到低浓度的蛋白质。 2.高特…

亚马逊云科技出海日倒计时,潮向新世界,亮点抢先知

数字化浪潮之下&#xff0c;中国企业的全球化步伐明显提速。从“借帆出海”到“生而全球化”&#xff0c;中国企业实现了从传统制造业“中国产品”出口&#xff0c;向创新“中国技术”和先导“中国品牌”的逐步升级。 作为全球云计算的开创者与引领者&#xff0c;亚马逊云科技…

ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘解决方法

ModuleNotFoundError: No module named ‘tensorflow.compat.v2‘解决方法 原因&#xff1a; tensorflow和keras版本不对齐或者keras版本过高 FrameworkEnv nameDescriptionTensorFlow 2.2tensorflow-2.2TensorFlow 2.2.0 Keras 2.3.1 on Python 3.7.TensorFlow 2.1tensorfl…

如何在Centos的SSH2终端中终止-停止-结束某个Python程序的运行?

python3 /opt/python_scripts/retr/P-0006.py &我在运行上面的命令后&#xff0c;得到了下面的提示&#xff1a; [1] 42335 如果我想终止这个我自己写的Python程序&#xff0c;该怎么做呢&#xff1f; 答&#xff1a; 当您在后台运行一个命令时&#xff0c;终端会显示类似…

2023网安164道面试题(附答案)

最近有不少小伙伴跑来咨询&#xff1a; 想找网络安全工作&#xff0c;应该要怎么进行技术面试准备&#xff1f;工作不到 2 年&#xff0c;想跳槽看下机会&#xff0c;有没有相关的面试题呢&#xff1f; 为了更好地帮助大家高薪就业&#xff0c;今天就给大家分享两份网络安全工…

chatgpt赋能python:Python后退对SEO的影响

Python后退对SEO的影响 Python作为一种流行的编程语言&#xff0c;在各种应用场景中都有着广泛的应用。但是&#xff0c;对于一些需要考虑SEO优化的网站来说&#xff0c;Python后退往往被认为是一个不利因素。那么&#xff0c;Python后退对SEO究竟有什么影响&#xff0c;我们来…