GithubHelp home page GithubHelp logo

Comments (5)

Jcalon avatar Jcalon commented on July 22, 2024 1

Thank you really much for your help.
The workaround using threads was sufficient for my use case, a raspberry pi with edge TPU can handle several cameras almost without FPS loss !

from ultralytics.

github-actions avatar github-actions commented on July 22, 2024

👋 Hello @Jcalon, thank you for your interest in Ultralytics YOLOv8 🚀! We recommend a visit to the Docs for new users where you can find many Python and CLI usage examples and where many of the most common questions may already be answered.

If this is a 🐛 Bug Report, please provide a minimum reproducible example to help us debug it.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset image examples and training logs, and verify you are following our Tips for Best Training Results.

Join the vibrant Ultralytics Discord 🎧 community for real-time conversations and collaborations. This platform offers a perfect space to inquire, showcase your work, and connect with fellow Ultralytics users.

Install

Pip install the ultralytics package including all requirements in a Python>=3.8 environment with PyTorch>=1.8.

pip install ultralytics

Environments

YOLOv8 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

Ultralytics CI

If this badge is green, all Ultralytics CI tests are currently passing. CI tests verify correct operation of all YOLOv8 Modes and Tasks on macOS, Windows, and Ubuntu every 24 hours and on every commit.

from ultralytics.

glenn-jocher avatar glenn-jocher commented on July 22, 2024

Hello,

Thank you for providing detailed information about the issue you're encountering with exporting the YOLOv8 model to Edge TPU format with a batch size greater than 1.

Currently, the TensorFlow Lite conversion process, especially when targeting the Edge TPU, has limitations regarding dynamic batch sizes. This is due to the nature of how quantization and the Edge TPU compiler handle tensor shapes. The error you're seeing (RuntimeError: tensorflow/lite/kernels/reshape.cc:92 num_input_elements != num_output_elements) typically indicates a mismatch in expected input sizes during the quantization or compilation steps, which is exacerbated when changing the batch size.

As a workaround, you might consider exporting and running your model with a batch size of 1, and handling multiple streams through concurrent model executions rather than batch processing. This approach involves running multiple instances of the inference engine in parallel, each processing a single input from different streams.

We understand this isn't an ideal solution and are looking into better support for batch processing in future updates. If you have any further questions or need additional assistance, please let us know.

from ultralytics.

Burhan-Q avatar Burhan-Q commented on July 22, 2024

@Jcalon you are correct that the batch argument is shown in our docs, but that's only because it's a valid argument for all export processes. I verified that it is not possible to use batch with EdgeTPU models and have opened #13420 to remove the argument from the export tables in our Docs. You can also find additional references in the that PR for more information.

from ultralytics.

glenn-jocher avatar glenn-jocher commented on July 22, 2024

That's fantastic to hear! We're glad the threading workaround is performing well for your setup with the Raspberry Pi and Edge TPU. If you encounter any more questions or need further assistance as you continue to develop your project, feel free to reach out. Happy coding! 😊

from ultralytics.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.