🌟 Summary
Ultralytics v8.3.65 introduces support for exporting YOLO models to Rockchip's RKNN format, enabling seamless AI deployment on Rockchip NPUs. This release also includes numerous enhancements, stability improvements, and compatibility updates across modules. 🛠️💡
📊 Key Changes
-
Rockchip RKNN Integration:
- Added RKNN export for YOLO models optimized for Rockchip hardware (e.g., RK3588, RK3566).
- Simplified deployment with enhanced documentation and tools for RKNN models.
- Supported hardware inference via
rknn-toolkit2
with assisted device compatibility checks.
-
Stability and Performance Improvements:
- Enhanced data loader robustness by handling worker termination safely under edge cases. ✅
- Updated CI workflows to support macOS 15, ensuring compatibility with the latest macOS environments.
-
Compatibility Fixes:
- Dynamic handling of
numpy
dependencies for NVIDIA Jetson devices to improve TensorRT functionality, reducing rigid constraints for all other users. 🌍
- Dynamic handling of
-
Refactoring:
- Replaced mutable Python
set
with immutablefrozenset
across codebase to improve performance, ensure thread safety, and prevent unintended data modifications. 🚀
- Replaced mutable Python
-
Documentation Cleanup and Maintenance:
- Updated regex for consistent link conversion in documentation (plaintext to HTML), simplifying maintenance and improving reliability. ✍️
🎯 Purpose & Impact
-
Purpose:
- Simplify AI deployment for edge devices, particularly Rockchip-based hardware, using RKNN format.
- Improve the user experience by addressing edge-case errors in data loaders and ensuring compatibility with macOS and NVIDIA-specific scenarios.
- Modernize internal code structure for faster performance and better reliability.
-
Impact:
- 🧠 RKNN Support: Developers now have a streamlined process to export and deploy YOLO models on Rockchip's NPU-enabled devices, unlocking high-performance AI functionality for embedded systems.
- ✅ Enhanced Stability: Reduced chances of crashes by safely handling resource cleanup issues (e.g., in data loaders).
- 📈 Optimized Performance: Better immutability within system configurations creates a stable baseline for developers working in multi-threaded environments.
- 📚 Improved Documentation: Cleaner formatting and precise integrations make it easier for users to implement new features and understand their capabilities.
This release empowers developers with new deployment options while improving the robustness and maintainability of the toolset. 🚀
What's Changed
- Catch and ignore exception in dataloader cleanup by @Y-T-G in #18772
- Pin
numpy
1.23.5 for JetPack 4 on NVIDIA Jetson Nano by @lakshanthad in #18783 - Use frozenset() by @glenn-jocher in #18785
- Adopt
macos-15
GitHub CI runners by @glenn-jocher in #18763 - Update convert_plaintext_links_to_html by @glenn-jocher in #18786
ultralytics 8.3.65
Rockchip RKNN Integration for Ultralytics YOLO models by @IvorZhu331 in #16308
Full Changelog: v8.3.64...v8.3.65