yolov5中的best.pt

在yolov5 的使用过程中几乎都会发现的问题:

训练结果有last.pt和best.pt ,

last.pt好理解,就是最后一个epoch的输出,但是best是啥意思?怎么才算best?

查了下帮助文档,没说。。YOLOv5 Documentation

所以只好一行行看train.py的源码,在下图位置看到了best.pt的更新

ctrl加鼠标左键点击fitness,来到了utils里的metrics类

这里就一目了然啦,话说yolov5终于有注释了啊

这里默认是把mAP@0.5 和 mAP@0.5:0.95 ,按照0.1:0.9加权平均,是可以自己改的

至于P、R、mAP是啥意思,请看👇

机器学习笔记 - IOU、mAP、ROC、AUC、准确率、召回率、F分数_坐望云起的博客-CSDN博客_机器学习map

### YOLOv8 中 `best.pt` 文件的作用与使用方法 #### 1. **`best.pt` 的作用** 在 YOLOv8 的训练过程中,`best.pt` 是指保存的最佳模型权重文件。该文件通常是在整个训练周期中表现最好的模型状态的记录。具体来说,它基于验证数据集上的性能指标来决定哪个 epoch 对应的模型是最优的。 对于目标检测任务,通常是通过计算平均精度(mAP, mean Average Precision)及其变种(如 mAP@0.5 和 mAP@0.5:0.95)作为评估标准[^2]。这些指标衡量的是预测框与真实框之间的匹配程度以及分类准确性。当某个 epoch 上的模型达到最高的综合评价得分时,其对应的权重会被保存为 `best.pt`。 #### 2. **`best.pt` 的保存位置** 默认情况下,在运行 YOLOv8 训练脚本后,生成的 `best.pt` 文件会存储于指定的日志目录下。如果未特别设置日志路径,则一般位于项目的 `runs/train/expX/weights/best.pt` 路径中,其中 `expX` 表示实验编号[^1]。例如: ```plaintext /home/ubuntu210/learn/ultralytics-main/runs/train/exp/weights/best.pt ``` 可以通过修改配置参数来自定义保存路径。比如调整 `project` 和 `name` 参数可以改变实验结果所在的根目录和子文件夹名称。 #### 3. **加载并使用 `best.pt` 模型** 要利用已经训练好的 `best.pt` 来执行推理或其他操作,可采用如下方式加载模型: ```python from ultralytics import YOLO # 加载 best.pt 模型 model = YOLO('/path/to/runs/train/exp/weights/best.pt') # 使用模型进行推理 results = model.predict(source='test_images/', save=True) ``` 上述代码片段展示了如何从特定路径读取 `best.pt` 并调用 `.predict()` 方法完成测试图片的目标检测工作。 #### 4. **与其他版本的区别** 虽然提到过 YOLOv5 如何依据 fitness 函数确定最佳模型权重,但在 YOLOv8 当前实现里并未公开具体的 fitness 定义细节。不过两者逻辑相似——均依赖验证阶段的表现挑选最优解。 --- ###
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值