THU-MIG / yolov10

YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]
https://arxiv.org/abs/2405.14458
GNU Affero General Public License v3.0
9.88k stars 975 forks source link

yolov10 导出onnx维度不对,且自己训练的pt推理时出错 #149

Closed cos888888 closed 5 months ago

cos888888 commented 5 months ago
  1. yolov10 导出onnx,output是[1,300,6],6这个维度明显不对,coco 80类怎么说也不可能是6维,rt-detr导出是[1,300,84],维度是对的。v1.1和master都测试了,都有这问题
  2. yolov10自己的yolov10s.pt可以正常推理,但自己训练的pt在predict时候说dict没有shape属性,错在opy.py里非极大值抑制里。v1.1和master都测试了,都有这问题
jameslahm commented 5 months ago

感谢您的关注!

  1. 您好,导出的onnx默认是端到端的,会输出最终预测的box坐标,标签和置信度分数,因此没有80类中每个类的预测概率,具体输出格式您可以参考#7。
  2. 您好,因为现在使用命令行时会根据文件名里是否有v10来判断是否用YOLOv10的模型,您可以把pt文件重命名为带yolov10名字的pt文件,或者您可以使用python api调用方式来进行predict,如
    from ultralytics import YOLOv10
    model = YOLOv10("best.pt")
    model.predict(...)
cos888888 commented 5 months ago

感谢您的关注!

  1. 您好,导出的onnx默认是端到端的,会输出最终预测的box坐标,标签和置信度分数,因此没有80类中每个类的预测概率,具体输出格式您可以参考如何理解模型输出output0:1 300 6 #7
  2. 您好,因为现在使用命令行时会根据文件名里是否有v10来判断是否用YOLOv10的模型,您可以把pt文件重命名为带yolov10名字的pt文件,或者您可以使用python api调用方式来进行predict,如
from ultralytics import YOLOv10
model = YOLOv10("best.pt")
model.predict(...)

thank you for your reply, I should write questions in English for your understanding. sorry

jameslahm commented 5 months ago

No worries. ❤️