Deci-AI / super-gradients

Easily train or fine-tune SOTA computer vision models with one open source training library. The home of Yolo-NAS.
https://www.supergradients.com
Apache License 2.0
4.54k stars 496 forks source link

YOLOX Onnx configuration #1848

Closed alihagrassy closed 5 months ago

alihagrassy commented 7 months ago

💡 Your Question

I have noticed that while using the ONNX converting it's not supported by the YOLOX but when you pass the model the ONNX doesn't give an error but i cannot assign an IOU value resulting into not good results. so my question is is YOLOX is support to convert using ONNX version and if not when we can expect to have an ONNX version. Thank you.

Versions

No response

BloodAxe commented 7 months ago

Not sure why you are saying that ONNX conversion is not supported. If you take a look at the unit tests on .export() then you would see that YOLOX export to ONNX is supported: https://github.com/Deci-AI/super-gradients/blob/c5a7e051a5d4814ba0320a59f1428da0041d6d0a/tests/unit_tests/export_detection_model_test.py

alihagrassy commented 7 months ago

@BloodAxe Thanks for your response, My reason is that the ONNX Conversion of the YOLOX export results in a significant Difference compared to Model Prediction before the conversion after training.

and also if you look at the support Export according to your documentation it doesn't exist : https://docs.deci.ai/super-gradients/latest/documentation/source/models_export.html it said it only supported by:

BloodAxe commented 5 months ago

@alihagrassy pardon for late reply.

My reason is that the ONNX Conversion of the YOLOX export results in a significant Difference compared to Model Prediction before the conversion after training.

This usually indicates that image preprocessing is not correct. By default we export model with image normalization included in the model graph (The preprocessing parameters is True by default). This means you should not be doing image normalization externally and the image input should be RGB image. Similarly if you exported model without preprocessing - you should be applying image normalization (/255) and also channel reordering (RGB -> BGR). Most of the issues reported about accuracy issues of ONNX model were caused by this. I suggest to check low hanging fruits first and then re-open the ticket if problem persist.

Re: YoloX - I've checked the code - it should be supported. The docs is probably not re-uploaded to the website.