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

Scope TF imports in DetectMultiBackend() #5792

Merged
merged 4 commits into from
Nov 25, 2021

Conversation

phodgers
Copy link
Contributor

@phodgers phodgers commented Nov 25, 2021

As per bug report #5709 I think there should be only one attempt to assign interpreter, and it appears tflite is only ever needed for the case of edgetpu model.

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

Enhanced TensorFlow model loading in YOLOv5 with dynamic imports.

📊 Key Changes

  • Dynamic import of TensorFlow library when necessary during different TensorFlow model loadings (.pb, saved_model, tflite).
  • Log statements added for clarity on model loading progress, specifically for TensorFlow .pb models.

🎯 Purpose & Impact

  • 🚀 Reduces initial load time for users not using TensorFlow models by preventing unnecessary imports.
  • 👀 Provides informative logging for users, making it easier to understand what’s happening during model loading.
  • 🔍 Streamlines TensorFlow compatibility, offering a more user-friendly and efficient experience for running YOLOv5 with TensorFlow models.

As per bug report ultralytics#5709 I think there should be only one attempt to assign interpreter, and it appears tflite is only ever needed for the case of edgetpu model.
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 @phodgers, thank you for submitting a 🚀 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 rebase may be attempted by including the /rebase command in a comment body, 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 changed the title tensorflow or tflite exclusively as interpreter Scope TF imports in DetectMultiBackend() Nov 25, 2021
@glenn-jocher
Copy link
Member

@phodgers PR is merged. Thank you for your contributions to YOLOv5 🚀 and Vision AI ⭐

BjarneKuehl pushed a commit to fhkiel-mlaip/yolov5 that referenced this pull request Aug 26, 2022
* tensorflow or tflite exclusively as interpreter

As per bug report ultralytics#5709 I think there should be only one attempt to assign interpreter, and it appears tflite is only ever needed for the case of edgetpu model.

* Scope imports

* Nested definition line fix

* Update common.py

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
2 participants