🌟 Summary
This update introduces automatic detection and seamless handling of RTDETR models, along with several improvements for GPU selection, code clarity, dataset accessibility, and overall robustness. 🚀
📊 Key Changes
- Automatic RTDETR Model Detection:
- The
YOLO
class now automatically recognizes and initializes RTDETR models from checkpoints, making it effortless to use RTDETR alongside other Ultralytics models. - You can now re-initialize a model from an existing model instance without duplicating memory or data.
- The
- Smarter GPU Selection:
- GPU selection now uses a percentage of free memory (e.g., 20%) instead of a fixed amount, improving compatibility across different hardware.
- YOLO Libtorch C++ Fix:
- Fixed CUDA device errors in the YOLOv8 C++ example by specifying the device during model loading.
- Cleaner Code & Maintenance:
- Simplified the TaskAlignedAssigner module and classification loss function for better readability and maintainability.
- Improved handling of legacy image transforms in classification prediction to prevent errors.
- Streamlined the Open Images V7 dataset download script for easier setup.
- Enhanced Testing & Docs:
- VisualAISearch tests now auto-download required images and skip unsupported environments for more reliable testing.
- Added a Colab badge to the HomeObjects-3K dataset docs for one-click model training in Google Colab.
🎯 Purpose & Impact
- Effortless Model Usage:
- Users can now load RTDETR models just like any other YOLO model, with no extra steps or manual configuration.
- Developers can pass model instances directly to the
YOLO
class, avoiding unnecessary duplication and saving memory.
- Better Hardware Compatibility:
- GPU selection adapts to different devices, making it easier to run Ultralytics tools on a wide range of systems without manual tuning.
- Improved Reliability:
- Fixes and enhancements across C++ inference, testing, and prediction make the platform more robust for both developers and end users.
- Faster Onboarding & Prototyping:
- The new Colab badge and simplified dataset scripts lower the barrier for beginners and speed up experimentation for researchers.
- Cleaner, More Maintainable Codebase:
- Ongoing code quality improvements help ensure long-term stability and ease of contribution.
✨ This release makes Ultralytics models—especially RTDETR—even easier to use, more reliable, and more accessible for everyone!
What's Changed
- Fix CUDA Error in YOLO Libtorch C++ Implementation by @ssapsu in #16390
- Clean up
TaskAlignedAssigner
module by @Laughing-q in #20725 - Update
Autodevice
memory check by using percentage form by @Laughing-q in #20714 - Speed up semantic search test with 4 images for fast embedding by @RizwanMunawar in #20704
- Eliminate
loss.detach()
temp return variable by @genji970 in #20721 - Add
HomeObjects-3K
notebook in docs by @RizwanMunawar in #20732 - Handle legacy
CenterCrop
in Classify prediction by @Y-T-G in #20715 - Simplify open-images-v7.yaml by @glenn-jocher in #20733
ultralytics 8.3.141
Automatically detect RTDETR models by @Y-T-G in #20578
New Contributors
Full Changelog: v8.3.140...v8.3.141