Ultralytics v8.3.117 Release: Future-Proof TFLite Exports, Improved Distributed Training, and More!
Summary
Ultralytics v8.3.117 delivers a major update focused on future-proofing TFLite model exports, enhancing Docker and distributed training workflows, and strengthening the overall user experience. With a host of fixes, optimizations, and documentation improvements, this release paves the way for smoother deployments and compatibility with Python 3.12+.
Key Changes
New Features & Major Improvements
-
TFLite Metadata Overhaul
The legacy TFLite Support package has been replaced with a streamlined JSON-based metadata approach (PR by @glenn-jocher), ensuring compatibility with Python 3.12 and above and simplifying exports. Existing users on Python <3.12 will see an automatic fallback to the older format. -
Docker & CI Upgrades
Updates to Dockerfiles and continuous integration workflows bolster Python 3.12 support and add benchmarking for ARM64 hardware (PR by @lakshanthad). Check out the new step-by-step YouTube Docker Quickstart tutorial (PR by @RizwanMunawar) to get started faster! -
MobileCLIP Dependency Update
The MobileCLIP dependency for YOLOE now points to the official Ultralytics fork (PR by @glenn-jocher), streamlining installations and improving reliability.
Distributed Training & Export Improvements
-
Distributed Training Fixes
Substantial improvements in YOLO distributed training stability, especially on Windows and using the Gloo backend (PR by @Y-T-G). -
CoreML Export Box Fix
Corrects an issue with box sizes when exporting to CoreML (PR by @sidekickr). -
Prediction Robustness
Restores automatic class inference for detection models missing metadata, improving out-of-the-box prediction reliability (PR by @Y-T-G).
Maintenance and Documentation
-
Documentation Upgrade
The Docker Quickstart guide now includes a guided YouTube video for easier onboarding (PR by @RizwanMunawar). -
Codebase Cleanup
Several import statements have been refined for maintainability and to reduce private local import issues (PR by @Laughing-q).
Purpose & Impact
- Smoother TFLite Exports: New JSON metadata ensures that TFLite models work without friction on the latest Python versions, reducing blockers for deployment and development.
- Reliability Across Platforms: Docker, CI, and ARM64 updates help users on Jetson, mobile, and cloud infrastructures.
- Faster Setup, Fewer Errors: With an improved MobileCLIP fork and distributed training fixes, getting models running—locally or on clusters—is easier than ever.
- Better Learning & Onboarding: New documentation video content lowers the barrier for new users.
Breaking Change: TFLite metadata format is now JSON-based (Python 3.12+). Please update custom workflows relying on flatbuffers or legacy metadata where necessary.
What’s Changed
- Add Docker Quickstart YouTube tutorial by @RizwanMunawar
- Fix private local import issue by @Laughing-q
- Fix DDP with Gloo backend on Windows by @Y-T-G
- Use Ultralytics MobileCLIP fork for YOLOE by @glenn-jocher
- Fix prediction metadata restoration by @Y-T-G
- Add Benchmarks CI to ARM64 Dockerfile by @lakshanthad
- Fix box sizes for CoreML exports by @sidekickr
- Replace TFLite Support with JSON metadata by @glenn-jocher
Full Changelog: Compare v8.3.116…v8.3.117
Next Steps
We encourage everyone to upgrade to v8.3.117 and try out the new features. Please share your experiences, bug reports, and suggestions—your feedback is vital to making Ultralytics and YOLO better for the entire community!
Thank you for all your contributions, questions, and ongoing support. The progress we’re making together is made possible by the whole YOLO community and the hard work of the Ultralytics team!
Happy experimenting!
— The Ultralytics Team