yolo11训练验证与推理
时间: 2025-04-01 21:00:12 浏览: 99
### YOLOv11模型的训练、验证与推理方法
#### 训练过程
YOLOv11 提供了一系列配置选项来优化训练流程。`cos_lr` 是一个布尔值参数,用于决定是否采用余弦退火学习率调度器[^1]。此策略有助于动态调整学习率,在训练后期减缓收敛速度以获得更优的结果。
另一个重要参数 `close_mosaic` 控制在最后若干轮次(epochs)中关闭马赛克数据增强功能。这种技术通过拼接多张图像形成新的样本,增加数据多样性并提升检测效果。然而,在接近结束阶段禁用该功能可以减少噪声干扰,提高最终精度。
对于中断后的继续操作,`resume` 参数允许从之前保存的检查点恢复训练进程。这使得长时间运行的任务能够从中断处重新启动而无需重头再来。
为了加速计算密集型任务,`amp` 可开启自动混合精度模式。它利用半精度浮点数 (FP16) 来降低内存消耗以及加快 GPU 上的操作执行效率,同时保持全精度 FP32 的准确性。
当处理大规模数据集时,可能希望仅使用其中一部分进行实验测试,则可通过设置 `fraction` 值小于 1.0 实现这一目标。这样既节省时间又便于快速评估不同超参组合的效果。
如果计划实施迁移学习或者专注于某些特定层而不改变其他部分的话,那么就可以运用到 `freeze` 功能了。它可以接受整数值表示固定住前面 N 层不动;或者是提供具体层数索引组成的列表形式更加灵活地定义哪些区域应该被锁定下来不参与反向传播更新权重的过程当中去。
#### 验证环节
完成一轮完整的训练周期之后,通常会有一个单独步骤用来衡量当前版本的表现如何——即所谓的“验证”。按照官方文档指引,只需简单执行脚本文件即可触发相应逻辑[^3]:
```bash
python val.py --data dataset.yaml --imgsz 640 --batch-size 32 --device 0 --half --workers 8 --project runs/val --name exp --exist-ok
```
上述命令片段展示了基本调用方式及其常用选项含义解释说明如下表所示:
| 参数名称 | 描述 |
|----------------|----------------------------------------------------------------------------------------|
| data | 数据配置 YAML 文件路径 |
| imgsz | 输入图片尺寸 |
| batch-size | 批量大小 |
| device | 使用设备编号(支持 CPU 或者单卡或多卡GPU),这里设定了第零号显卡 |
| half | 是否启用半精度运算 |
| workers | 工作线程数目 |
| project | 结果存储目录 |
| name | 子文件夹命名 |
| exist-ok | 如果同名子文件已存在则覆盖而不是报错 |
#### 推理应用
实际部署场景下,加载预训练模型并对新采集的数据做出预测是最常见的需求之一。下面给出一段基于 Python API 的实现样例[^2]:
```python
from ultralytics import YOLO
# 初始化实例对象关联至本地磁盘上的最佳权重量化版 checkpoint 路径位置
model = YOLO('runs/train/exp/weights/best.pt')
source_image_path = 'test.jpg'
predictions = model.predict(source=source_image_path, save=True)
```
在此基础上还可以进一步定制更多高级特性比如批量处理、实时视频流解析等等扩展用途非常广泛。
---
阅读全文
相关推荐



















