YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py

本文详细解析YOLOv5的val.py代码,包括导包、保存信息、计算指标、执行run()函数等内容。val.py主要用于验证模型的性能,如mAP、混淆矩阵等,并在训练轮次结束后保存最佳模型。文章通过逐行注释,解释了从数据预处理、前向推理、NMS处理到指标计算的全过程。
摘要由CSDN通过智能技术生成

前言 

本篇文章主要是对YOLOv5项目的验证部分。这个文件之前是叫test.py,后来改为val.py

在之前我们已经学习了推理部分detect.py和训练部分train.py这两个,而我们今天要介绍的验证部分val.py这个文件主要是train.py每一轮训练结束后,val.py去验证当前模型的mAP、混淆矩阵等指标以及各个超参数是否是最佳, 不是最佳的话修改train.py里面的结构;确定是最佳了再用detect.py去泛化使用。

总结一下这三个文件的区别:

  • detect.py: 推理部分。获取实际中最佳推理结果
  • train.py: 训练部分。读取数据集,加载模型并训练
  • val.py:验证部分。获取当前数据集上的最佳验证结果

文章代码逐行手打注释,每个模块都有对应讲解,一文帮你梳理整个代码逻辑!

友情提示:全文近5万字,可以先点再慢慢看哦~

源码下载地址:mirrors / ultralytics / yolov5 · GitCode

     🍀本人YOLOv5源码详解系列: 

YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析

​​​​​​YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py

YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py

YOLOv5源码逐行超详细注释与解读(5)——配置文件yolov5s.yaml

YOLOv5源码逐行超详细注释与解读(6)——网络结构(1)yolo.py

YOLOv5源码逐行超详细注释与解读(7)——网络结构(2)common.py


目录

前言 

目录

🚀一、导包与基本配置

1.1 导入安装好的python库

1.2 获取当前文件的绝对路径

1.3 加载自定义模块

🚀二、保存信息

2.1 保存预测信息到txt文件

2.2 保存预测信息到coco格式的json字典

🚀三、计算指标 

🚀四、执行run()函数

4.1 设置参数

4.2 初始化/加载模型以及设置设备

4.3 加载配置

4.4 加载val数据集

4.5 初始化

4.6 验证过程

  • 44
    点赞
  • 140
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路人贾'ω'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值