解决YOLO全系列最终输出的mAP50和mAP(50-95与验证时不一致的问题

CLIP-GmP-ViT-L-14编码模型

CLIP-GmP-ViT-L-14编码模型

图像识别
CLIP

CLIP-GmP-ViT-L-14编码模型` 是一个图文双塔编码模型,适合做图文匹配、零样本分类和跨模态检索演示。本镜像已经完成 Web 部署,打开页面即可上传图片并测试图文表征能力

本人最近在跑Yolo的时候遇到了一个问题,就是使用官方代码val.py验证出来的mAP50和mAP(50-95和运行结束的时候所输出的不一致,根据大量实验,发现val.py验证出来的mAP总是高于运行结束时输出的mAP值,这导致写论文的时候不能使用运行时输出的result.png。

经过问题排查发现是val.py中的超参数与训练时的超参数不一致导致的。

#官方代码中给出的Val.py

from ultralytics import YOLO

# Load a model
model = YOLO("runs/detect/train/weights/best.pt")
if __name__ == '__main__':
  # Validate with a custom dataset
    metrics = model.val(data="Datasets/yolo11n_cow.yaml")

这个官方代码一般来说只适用于默认参数,如果你调整了一些超参数就要修改,具体在哪里看到超参数要找到runs/detect/train/weights/args.yaml。比如说我运行训练的时候设置了batch=25,验证的时候就要在里面加上。特别注意agnostic_nms=True这个超参数,这个超参数是导致验证时不一致的罪魁祸首,如果你设置了agnostic_nms=True,验证时一定要加上。

from ultralytics import YOLO

# Load a model
model = YOLO("runs/detect/train/weights/best.pt")
if __name__ == '__main__':
  # Validate with a custom dataset
    metrics = model.val(data="Datasets/yolo11n_cow.yaml",
conf=None,iou=0.7,batch=25,imgsz=640,half=False,nms=False,agnostic_nms=True)

总结来说就是你训练的时候调整的超参数是哪些,在使用val.py的时候就要加上。

 

您可能感兴趣的与本文相关的镜像

CLIP-GmP-ViT-L-14编码模型

CLIP-GmP-ViT-L-14编码模型

图像识别
CLIP

CLIP-GmP-ViT-L-14编码模型` 是一个图文双塔编码模型,适合做图文匹配、零样本分类和跨模态检索演示。本镜像已经完成 Web 部署,打开页面即可上传图片并测试图文表征能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值