为什么 YoloV8 在导出到 .onnx 并使用 onnxruntime 或 opencv dnn 运行时表现不佳?结果只是无法与 torch .pt 模型文件相比

问题描述 投票:0回答:1

我正在研究迁移学习 coco 训练的 yolov8 模型,以在完全不同的用例中检测对象。当我使用 ultralytics 库和内置函数从其 model.pt 文件重新加载经过训练的模型时,我得到了非常令人鼓舞的性能指标。

但是,我尝试将模型导出到 .onnx,但未能达到相同的指标。

  • 我在大小为 1280,720 的矩形图像上训练它,标志为 rect=True,imgsz=1280
  • 我是这样导出的:
    yolo task=detect mode=export model=runs/detect/last.pt imgsz=720,1280 simplify=true format=onnx opset=12
  • 我试过没有opset,opset11和opset12(官方文档推荐opset12)
  • 我尝试在有和没有简化的情况下导出它
  • 我尝试使用这个 github repo here 作为示例来使用 onnxruntime 库
  • 我尝试使用 ultralytics 自己的这个 python 示例

上述方法都没有给我与使用 predict.py 和从原始 .pt 文件加载模型相同的结果。有没有人能够使用 .onnx 产生与他们使用 .pt 模型和 gpu 相同的结果?如果是的话,你能分享一下你是怎么做到的吗?

object-detection torch yolo onnx onnxruntime
1个回答
0
投票

在这里面临同样的问题。使用 opset=12 或什至不使用它来导出它。使用 opencv onnx 模型时性能不佳。我要回到 yolov4.

© www.soinside.com 2019 - 2024. All rights reserved.