Fix FP32 TensorRT model export#8046
Merged
glenn-jocher merged 2 commits intoultralytics:masterfrom May 31, 2022
Merged
Conversation
Contributor
There was a problem hiding this comment.
👋 Hello @SahilChachra, thank you for submitting a YOLOv5 🚀 PR! To allow your work to be integrated as seamlessly as possible, we advise you to:
- ✅ Verify your PR is up-to-date with upstream/master. If your PR is behind upstream/master an automatic GitHub Actions merge may be attempted by writing /rebase in a new comment, or by running the following code, replacing 'feature' with the name of your local branch:
git remote add upstream https://github.com/ultralytics/yolov5.git
git fetch upstream
# git checkout feature # <--- replace 'feature' with local branch name
git merge upstream/master
git push -u origin -f- ✅ Verify all Continuous Integration (CI) checks are passing.
- ✅ Reduce changes to the absolute minimum required for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." -Bruce Lee
Member
|
@SahilChachra I'd defaulted all TRT to FP16, but you're right, this is probably more aligned with the expected behavior here. |
Member
|
@SahilChachra PR is merged. Thank you for your contributions to YOLOv5 🚀 and Vision AI ⭐ |
Contributor
Author
|
Thankyou @glenn-jocher 😃 |
tdhooghe
pushed a commit
to tdhooghe/yolov5
that referenced
this pull request
Jun 10, 2022
Fixed FP32 TRT model export Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
ctjanuhowski
pushed a commit
to ctjanuhowski/yolov5
that referenced
this pull request
Sep 8, 2022
Fixed FP32 TRT model export Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Member
|
@SahilChachra you're welcome! The YOLO community and the Ultralytics team have put in a lot of effort to make YOLOv5 a success. Thank you for being a part of it! If you have any more questions or feedback, feel free to ask. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem :- While exporting model as TensorRT, the code was using FP16 precision even without using "--half" flag with the export command. Hence, was unable to export FP32 precision models with the export command.
Fix :- Passed "half" variable to the if condition which means we will get FP16 model only if user has passed the "half" flag and the hardware supports FP16. Also modified the logger code to print appropriate precision being used. Just adding "half" variable, the bug has been resolved. Thanks 😄
Have tested the code for FP16 and FP32 both. It's working.
Attaching screenshots.

After fixing the code, we get,

🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
Improved TensorRT export flexibility regarding precision modes.
📊 Key Changes
halfflag.🎯 Purpose & Impact
halfsetting, potentially improving performance on compatible hardware. 🚀