YOLOv8在测试集上验证

问题:在训练完成后想在测试集上验证精度

解决方案

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8m.pt')  # load an official model
model = YOLO('runs/detect/yolov8_640_ep200/weights/best.pt')  # load a custom model

# Validate the model
metrics = model.val(split='test')  # no arguments needed, dataset and settings remembered
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category

Val - Ultralytics YOLOv8 Docs

 在官方文档介绍中,可以得知split关键字可以选择验证时所需的数据集

 默认为val,如果想要yaml文件中划分的测试集上查看模型的精度,仅需要将split字段更改即可。

### YOLOv8测试集验证集的区别及应用场景 #### 验证集的作用 在机器学习项目中,尤其是像YOLOv8这样的目标检测任务里,验证集用于调整超参数并监控模型性能。这有助于防止过拟合现象的发生,在训练过程中通过评估不同阶段的模型表现来决定最佳停止时间[^2]。 ```python model.val(data='path/to/validation_dataset.yaml') ``` 此段代码展示了如何利用`val()`函数对指定路径下的验证数据集执行评价操作。它会返回一系列指标如mAP(mean Average Precision),这些对于理解当前模型状态至关重要。 #### 测试集的角色 不同于验证集,测试集主要用于最终评估已经完成调优后的模型的整体泛化能力。这意味着一旦选择了最优模型及其配置之后才会运行一次完整的测试流程以获得最真实的预测效果反馈[^3]。 ```python results = model.predict(source='path/to/test_images', save=True, imgsz=640) ``` 上述命令可以用来处理来自给定源文件夹中的图像,并保存下尺寸为640x640像素大小的结果图片到默认输出目录内;这是模拟实际部署环境的一种方式,从而更好地衡量模型的真实效能。 #### 应用场景差异 - **开发期**:在整个研发周期内的多次迭代优化期间频繁使用的通常是验证集; - **发布前评估**:当准备将模型投入生产之前,则需依赖于独立且未见过的数据——也就是所谓的测试集合来进行最后一次严格审查。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值