我正在使用下面的代码来加载经过训练的自定义Yolov5模型并执行检测。
import cv2
import torch
from PIL import Image
model = torch.hub.load('ultralytics/yolov5', 'custom',
path='yolov5/runs/train/exp4/weights/best.pt', force_reload=True)
img = cv2.imread('example.jpeg')[:, :, ::-1] # OpenCV image (BGR to RGB)
results = model(img, size=416)
要显示和保存我正在使用的结果:
results.print()
results.save()
results.show()
我的问题是如何将结果保存在不同的目录中,以便在基于Web的应用程序中使用它们。作为参考,我正在使用Streamlit。例如,目前,结果(图像)被保存在runs\detect\exp* 中。我想更改它。有人能指导我吗?
3条答案
按热度按时间41ik7eoe1#
您可以在
results.save()
的函数定义中进行修改,该函数可以在yolov5/models/common.py
文件中找到,默认定义为:您可以将
save_dir
参数更改为所需的保存位置,文件应保存在新目录中。kpbwa7wx2#
只需将
save_dir
参数传递到所需的目录。范例
dddzy1tm3#
这对我很有效,你所要做的就是使用一些参数。
--exist-ok --名称(保存位置的路径)
例如-!python train.py--img 608 --批处理16 --epochs 5000 --数据{数据集.位置}/数据.yaml --权重yolov5l.pt**--存在-确定--名称'要保存的路径'**
为了更好地理解,您可以参考此处:https://github.com/ultralytics/yolov5/issues/6507#issuecomment-1027985452