位置: IT常识 - 正文

yolov7模型训练结果分析以及如何评估yolov7模型训练的效果(yolov5模型训练)

编辑:rootadmin
yolov7模型训练结果分析以及如何评估yolov7模型训练的效果

推荐整理分享yolov7模型训练结果分析以及如何评估yolov7模型训练的效果(yolov5模型训练),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov3训练模型时的loss图像,yolov3模型训练,yolov3训练模型时的loss图像,yolov1模型,yolov5模型训练,yolo 模型训练,yolov4训练模型,yolov4训练模型,内容如对您有帮助,希望把文章链接给更多的朋友!

最近是刚刚训练yolov7模型,但是只会一股脑的训练是不行的,要懂得训练多少epoch,以及通过哪些指标来查看训练的效果如何,现在这几天的经验总结一下。

本实验以person为例子,分别训练100epoch、60epoch、50epoch

训练经验:由于并不知道到底训练多少epoch效果比较好,所以现在先设置成100。(这几天查询资料得出来的结论一般50多就差不多了)

1、关于yolov7训练结果的文件解析

一、weights

也就是训练好的模型,一般使用best.pt去进行推理

 包括best.pt和last.pt,以及默认25epoch保存一次模型,以及保存最后5个epoch的模型

二、 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是最差。

 这是100epoch得到的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.pngyolov7模型训练结果分析以及如何评估yolov7模型训练的效果(yolov5模型训练)

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

 分别的含义是训练次数、GPU消耗、训练集边界框损失、训练集目标检测损失、训练集分类损失、训练集总损失、targets目标、输入图片大小、Precision、Recall、mAP@.5、mAP@.5:.95、验证集边界框损失、验证集目标检测损失、验证机分类损失

十、train_batchx

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

 十一、test_batchx_labels

验证集第一轮的实际标签

十二、运行tensorboard

activate yolov7(自己所配的环境名称)tensorboard --logdir=训练结果所在的文件夹二、分析模型的训练效果

接下来我将分别展示100epoch、60epoch和50epoch的tensorboard的可视化训练结果

100epoch

Loss

AP值

60epoch

Loss

AP值

50epoch

Loss

AP值

 分析:从100epoch的Loss来看从50-60epoch损失值就维持在一定的范围内,所以我们可以缩小训练epoch,然后设置epoch为60继续训练,发现相较于100epoch的AP值86.8,60epoch的AP值为87.7上升0.9,但是发现val的目标检测损失在50epoch之后有所上涨,所以我们再次设置epoch为50进行训练,发现AP值上升0.1。

总结:所以来说查看yolov7模型训练的效果要综合四个损失函数的值来看,先设置的epoch次数多一些,然后通过损失函数来看减少或增加训练轮数,然后查看AP值是否有所增加。

最后增加一下计算模型训练的FPS值,设置相应的参数并运行test.py

运行结果

 FPS=1000/(4.3+0.6+5.0)=101

本文链接地址:https://www.jiuchutong.com/zhishi/283822.html 转载请保留说明!

上一篇:vue3,使用watch监听props中的数据(vue watch监听vuex数据)

下一篇:intmon.exe进程信息查询 intmon是什么进程(进程com)

  • 小规模纳税人能开专票吗2023
  • 个人股权转让如何缴纳印花税
  • 增值税申报表如何打印
  • 个体户办理税务登记有什么好处
  • 未计提坏账准备金额在哪个科目
  • 软件企业会计分录
  • 劳动合同的履行包括什么原则
  • 餐饮公司如何挣钱
  • 个人拿身份证可以贷款吗
  • 单次劳务费税率
  • 个人安装设备属于劳务吗
  • 企业如何实现资源共享
  • 纳税人跨县(市、区)提供建筑服务
  • 所有的固定资产都有残值率吗
  • 金蝶账可以修改建账日期吗
  • 小企业会计准则和企业会计准则的区别
  • 旅客运输抵税
  • 个人买卖二手房增值税
  • 公司投资私募股票有哪些
  • 进项税额转出的
  • 受伤员工补贴
  • 差额纳税的会计处理
  • 电脑无损音乐播放软件哪个最好
  • 申报个税和缴纳个税一样吗
  • 怎么关闭windows11自动更新
  • dc.exe是什么程序
  • 售后租回怎么理解
  • 办理银行承兑汇票支付的手续费计入
  • 富贵竹怎么养才能更旺盛水培生根
  • 1558伊丽莎白女王
  • 企业破产时的退出机制
  • php读取文件的一部分
  • php db2
  • vue-router导航守卫
  • php之间传递数据
  • 发票开具使用要求
  • ps抠图之后怎么拿出来
  • 一般纳税人普票可以抵扣吗
  • 库存现金科目的辅助核算项目为日记账
  • 企业增值税发票管理办法
  • 小规模纳税人通行费电子普票能抵扣吗
  • 医疗报销发票是什么样的
  • 小规模缴纳印花税吗怎么做账
  • 更正申报补缴税款会影响记录
  • 资产负债表中存货
  • 政府会计的会计要素有哪几个?会计要素之间的关系如何?
  • 资产负债表和利润表的勾稽关系
  • 一般纳税人哪种税
  • 不动产租赁可以享受加计抵减吗
  • 已付款但未收到发票怎样记账
  • 个体工商户生产经营所得税优惠政策
  • 未认证进项税额会计分录
  • 更换公司新公章流程
  • 固定资产处置款怎么入账
  • 二类银行卡转账能收多少钱
  • 银行付款手续费发票如何入账
  • 私营企业算固定收入吗
  • sql server查询指定内容
  • mysql5.7.27安装
  • 丢失acui16.dll
  • win10预览版好吗
  • win10插上耳机后电脑还是外放如何解决
  • win7系统电脑无限重启
  • js修改值
  • 阿里云云服务器ecs位于云端
  • js中的正则表达式的例子
  • awk入门
  • python 聚类算法包
  • javascriptprompt用法
  • shell正则表达式匹配文件名
  • 使用jQuery操作HTML的table表格的实例解析
  • jquery实现下拉菜单
  • 代码实现死锁
  • 污水处理费收入
  • 手机申报税务不成功怎么办
  • 行政机关吗
  • 天津本田天虹90摩托车库存
  • 发票号码的8位是什么
  • 吉林省税务局发票流向查询系统
  • 中山税务如何预约
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设