如何将“检测”对象转换为字符串
pytorch 205
原文标题 :How to turn ‘Detections’ object into string
我有这段代码,它使用 YOLOV5 和我训练过的模型的权重来推断图像以检测和识别埃及货币。对象“结果”的数据类型为“检测”。有没有办法将它转换为字符串对象,因为我出于某种目的需要标签输出?我尝试了 str() 函数,但它不起作用。
import torch
import os
import cv2
# Model
model = torch.hub.load(r'C:\Users\HAYA\PycharmProjects\curency_recognition\yolov5-master\yolov5-master', 'custom', path=r'C:\Users\HAYA\PycharmProjects\curency_recognition\_best.pt', source='local')
# Image
im = [r'E:\_currency.jpg']
# Inference
results = model(im)
# results
results.print()
results.save() # or .show()
results.show()
results.xyxy[0] # img1 predictions (tensor)
results.pandas().xyxy[0]
回复
我来回复-
mak13 评论
以下功能有点“错误”,但它可以为您提供所需的结果
def results_parser(results): s = "" if results.pred[0].shape[0]: for c in results.pred[0][:, -1].unique(): n = (results.pred[0][:, -1] == c).sum() # detections per class s += f"{n} {results.names[int(c)]}{'s' * (n > 1)}, " # add to string return s
我在原始存储库中的 Zidane 图像上运行默认的 yolov5s,在获取结果对象后,我执行了以下操作:
# Model model = torch.hub.load(r'/content/yolov5//', 'custom', path=r'/content/yolov5/yolov5s.pt', source='local') # Image im = [r'runs/detect/exp/zidane.jpg'] # Inference results = model(im) print(results_parser(results))
输出是:
2 persons, 2 ties,
我希望你觉得这个答案有帮助,祝你有美好的一天)
2年前