2

我正在尝试对我的自定义 YOLOv5 模型进行推理。官方文档使用默认detect.py脚本进行推理。

例子:python detect.py --source data/images --weights yolov5s.pt --conf 0.25

我已经编写了自己的 python 脚本,但我既不能在初始化期间设置置信度阈值,也不能从模型的预测中检索它。我只能获取标签和边界框坐标。这是我的代码:

import torch

model = torch.hub.load('ultralytics/yolov5', 'custom', path_or_model='best.pt') 
results = model("my_image.png")
labels, cord_thres = results.xyxyn[0][:, -1].numpy(), results.xyxyn[0][:, :-1].numpy()
4

3 回答 3

0

要设置自定义训练的 YOLOv5 模型的置信度阈值,请使用以下命令:

import torch
model = torch.hub.load('ultralytics/yolov5', 'custom',
                       path='absolute/path/to/.pt/file', source='local')
model.conf = 0.25

要检索推理图像和其他值,请使用

# Inference Result
img = "my_image.png"
results = model(img)

# Results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.
于 2022-02-27T15:03:40.963 回答
0

检查detection.y文件以获得使用模型的明确说明。您必须在代码中的模型推断之后手动进行分数阈值处理。

这意味着检测分数的范围从 0.0 到 1.0,您必须使用置信度阈值对其进行过滤。

于 2021-04-28T10:30:00.603 回答
0

这个对我有用:

model.conf = 0.25  # confidence threshold (0-1)
model.iou = 0.45  # NMS IoU threshold (0-1)  

更多信息:

https://github.com/ultralytics/yolov5/issues/36

于 2021-09-17T10:36:43.850 回答