【深度学习】yolov5 可视化训练结果以及result.txt解析

1.yolov5训练结果生成

【深度学习】yolov5 可视化训练结果以及result.txt解析_第1张图片

yolov5每次train完成(如果没有中途退出)

都会在run目录下生成expX目录(X代表生成结果次数 第一次训练完成生成exp0 第二次生成exp1......以此类推)

expX目录下会保存训练生成weights以及result.txt

(其中weights是训练生成权重,可用于detect)

并以可视化的方式展示训练结果 -> result.png

2.可视化训练结果解析

【深度学习】yolov5 可视化训练结果以及result.txt解析_第2张图片

  • GIoU:推测为GIoU损失函数均值,越小方框越准;

  • Objectness:推测为目标检测loss均值,越小目标检测越准;

  • Classification:推测为分类loss均值,越小分类越准;

  • Precision:精度(找对的正类/所有找到的正类);

翻译成中文就是“分类器认为是正类并且确实是正类的部分占所有分类器认为是正类的比例”,衡量的是一个分类器分出来的正类的确是正类的概率。两种极端情况就是,如果精度是100%,就代表所有分类器分出来的正类确实都是正类。如果精度是0%,就代表分类器分出来的正类没一个是正类。光是精度还不能衡量分类器的好坏程度,比如50个正样本和50个负样本,我的分类器把49个正样本和50个负样本都分为负样本,剩下一个正样本分为正样本,这样我的精度也是100%,但是显然这个分类器不太行。

  • Recall:召回率(找对的正类/所有本应该被找对的正类);

翻译成中文就是“分类器认为是正类并且确实是正类的部分占所有确实是正类的比例”,衡量的是一个分类能把所有的正类都找出来的能力。两种极端情况,如果召回率是100%,就代表所有的正类都被分类器分为正类。如果召回率是0%,就代表没一个正类被分为正类。

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

一般训练结果主要观察精度召回率波动情况

(波动不是很大则训练效果较好)

然后观察[email protected] & [email protected]:0.95 评价训练结果

result.TXT解析

 yolov5-3.1中train.py第322行有如下的代码

# Write
with open(results_file, 'a') as f:
	f.write(s + '%10.4g' * 7 % results + '\n')  # P, R, [email protected], [email protected], val_loss(box, obj, cls)
if len(opt.name) and opt.bucket:
	os.system('gsutil cp %s gs://%s/results/results%s.txt' % (results_file, opt.bucket, opt.name))

这部分代码应该是把每次迭代结果写入result.txt

根据相应注释可推测result.txt中

倒数第7列至倒数第4列是每次迭代后相应的Precision、Recall、[email protected][email protected]:0.95 

【深度学习】yolov5 可视化训练结果以及result.txt解析_第3张图片

自学人工智能很难,我这里整理了一份关于人工智能、Python的系统化资料,囊括了面试题,PDF电子书,网上商城项目,个人博客项目,分布式项目等都有想学习人工智能、Python或者转行,大学生都非常实用,无任何套路免费提供,,加我裙 809160367 下载,扫码+V 也可以领取的内部资源,Python题库,大厂面试题 学习大纲 自学课程大纲还有80G人工智能资料大礼包免费送噢有什么问题都可以来问我。
【深度学习】yolov5 可视化训练结果以及result.txt解析_第4张图片

 【深度学习】yolov5 可视化训练结果以及result.txt解析_第5张图片

 

你可能感兴趣的:(深度学习,pytorch,神经网络)