惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

博客园 - ubirdy

在Cursor中使用Anthropic的Skills 切换至windows自带中文输入法后卡住的bug解决 用ikuai软路由提供内网NTP服务 在欧拉系统(openEuler)上安装uWSGI 在欧拉系统(openEuler)上安装Nginx 海康工业相机SDK错误码常见场景解析 ubuntu22.04 server安装nvidia cuda 12.08提示Nouveau 驱动已经在用 ubuntu22.04更换镜像源 ubuntu22.04安装CUDA ICMP时间戳漏洞CVE-1999-0524的处理 解决supervisor在香橙派AIpro上启动问题 用ffplay在香橙派AIPro上播放PCM文件 香橙派OrangePi_AiPro超频CPU与NPU 昇腾310B4在转换onnx格式至om格式时提示BrokenPipeError: [Errno 32] Broken pipe Python打包工具 Pyinstaller使用教程 FFplay命令参数 在windows中安装pytorch的GPU版本及torchvision Win11禁用右键菜单折叠改用经典右键菜单 Altas产品查询CANN软件包版本的方法
yoloV7训练结果分析
ubirdy · 2025-03-07 · via 博客园 - ubirdy

参考:YOLOV7训练自己的数据集以及训练结果分析(手把手教你)-CSDN博客

一、查看训练结果

训练结束后会在run/train/exp中有如下结果:

用自己的模型进行测试, --device 0 表示GPU,运行后默认保存在runs/detect/exp目录

 python detect.py --weights best.pt --source ./test_images/ITS20240824034226.1.jpg --device 0

二、结果分析

F1_curve.png

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

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

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

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 评价训练结果。

tensorboard

tensorboard是可实时观看自己训练数据集效果的可视化工具。

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

使用wandb

参考:wandb安装与使用 —— 用于跟踪、可视化和协作机器学习实验的工具-CSDN博客

pip install wandb
wandb login

(如果代码中有用到wandb,其实会自动要求登录,但是如果用nohup挂起脚本的话就无法实现,所以还是建议提前登录好)
API key的位置在:https://wandb.ai/authorize

 登录会要求输入key,复制粘贴一下(在powershell中看不见输入的内容,直接回车)