DataXujing / ScaledYOLOv4

:fire::fire::fire: Scaled-YOLOv4训练自己的数据集详细教程PDF,关于paper解读请联系小编获取PDF文档
72 stars 24 forks source link

使用onnx做推理 #6

Open dongfangzhizhu opened 3 years ago

dongfangzhizhu commented 3 years ago

使用export_onnx.py导出的onnx模型做推理,输出的shape为(1, 4, 80, 80, 19),而原模型输出的为[1, 89760, 19],请问下是什么原因造成的呢,或者有没有什么办法保持两者输出一致呢?

DataXujing commented 3 years ago

如果你用的是TensorRT 7.0及以下的版本,则转onnx时opset_version=10,此时需要按照https://github.com/DataXujing/ScaledYOLOv4/blob/main/models/yolo.py#L16将7个output转为[1,89760,19]维度的tensor,如果你是用的是TensorRT 7.2则在转onnx时opset_version=12,此时是可以正常输出[1,89760,19]维度的tensor的

dongfangzhizhu commented 3 years ago

感谢回复,export_onnx.py中opset_version默认值已经是12了,我可能没有表述好,如果是onnx输出的,这种shape使用non_max_suppression方法是无法解析正确的,请问如何才能解析为形如(x1, y1, x2, y2, conf, cls)这种结果呢