Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable TensorFlow ops for --nms and --agnostic-nms #7281

Merged
merged 6 commits into from
Apr 5, 2022

Conversation

leeflix
Copy link
Contributor

@leeflix leeflix commented Apr 4, 2022

πŸ› οΈ PR Summary

Made with ❀️ by Ultralytics Actions

🌟 Summary

Enhancements to TensorFlow Lite (TFLite) export functionality in YOLOv5.

πŸ“Š Key Changes

  • Added nms and agnostic_nms arguments to export_tflite function.
  • Updated representative dataset generation by setting ncalib to a default value of 100.
  • Appended tf.lite.OpsSet.SELECT_TF_OPS to supported operations when nms or agnostic_nms is enabled during TFLite export.

🎯 Purpose & Impact

  • 🎨 The introduction of nms (Non-Maximum Suppression) and agnostic_nms parameters aims to allow users more control over the post-processing steps during TFLite model conversion, potentially leading to more efficient on-device inference.
  • πŸ” Setting a default ncalib value helps standardize the quantization calibration step, which can improve the quality of the int8 quantized models.
  • πŸš€ Including SELECT_TF_OPS supports a wider range of TensorFlow operations when exporting to TFLite, thereby enhancing model compatibility and performance on a broader set of devices.
  • 🧿 Users may experience improvements in model accuracy and efficiency, especially for edge devices and mobile applications leveraging TFLite models.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ‘‹ Hello @leeflix, 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

@glenn-jocher glenn-jocher linked an issue Apr 5, 2022 that may be closed by this pull request
1 task
@glenn-jocher glenn-jocher changed the title enable TensorFlow ops if flag --nms or --agnostic-nms is used Enable TensorFlow ops for --nms and --agnostic-nms Apr 5, 2022
@glenn-jocher glenn-jocher merged commit 8d0291f into ultralytics:master Apr 5, 2022
BjarneKuehl pushed a commit to fhkiel-mlaip/yolov5 that referenced this pull request Aug 26, 2022
)

* enable TensorFlow ops if flag --nms or --agnostic-nms is used

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update export.py

* Update export.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Got error when export TFlite with NMS
2 participants