🌟 Summary
This release (v8.3.162) brings improved reliability and consistency to model loading, enhanced hardware compatibility, and several quality-of-life updates for both developers and users. 🚀🛠️
📊 Key Changes
- Standardized Model Loading:
All direct uses oftorch.load
are replaced with Ultralytics'torch_load
utility, ensuring consistent and robust model file handling throughout the codebase. - Improved Device Compatibility:
Loading of cached text embeddings in YOLOE and YOLO-World now explicitly supports both CPU and GPU, preventing device mismatch errors. - Intel Hardware Detection:
Added a new utility to detect Intel CPUs and GPUs, allowing Ultralytics tools to recommend OpenVINO exports for optimal performance on Intel hardware. - Enhanced Metrics Plotting:
Metric plots for detection, segmentation, and pose tasks now include clearer labeling and improved processing, making evaluation results easier to interpret. - Relative Path Support for Grounding Datasets:
Open-vocabulary model training now supports relative dataset paths, simplifying custom dataset management. - CopyPaste Augmentation Fix:
The CopyPaste augmentation no longer modifies original images in-place, preserving data integrity during training. - Dependency Version Pinning:
Theai-edge-litert
package is now pinned to versions>=1.2.0,<1.4.0
to ensure stable TensorFlow SavedModel exports. - Optional Typing Stubs:
Introduced an optional dependency group for typing stubs, improving code completion and static analysis for developers. - Assorted Bug Fixes:
Includes fixes for open-vocabulary evaluation, dataset handling, and minor code improvements.
🎯 Purpose & Impact
- Reliability & Consistency:
By standardizing model loading withtorch_load
, users and developers benefit from fewer bugs and more predictable behavior when working with PyTorch models. - Better Hardware Support:
Users with Intel hardware now receive tailored export recommendations, and device-aware embedding loading prevents frustrating training errors. - Improved Usability:
Clearer metric plots, support for relative dataset paths, and safer augmentations make the platform easier and safer to use for both new and advanced users. - Developer Experience:
Optional typing stubs and codebase improvements enhance code quality, autocompletion, and maintainability. - Export Stability:
Pinning dependencies reduces the risk of export failures, ensuring smoother model conversion workflows.
Overall, v8.3.162 delivers a more robust, user-friendly, and developer-friendly experience across the Ultralytics ecosystem! 🎉
What's Changed
- Optional dependency group for typing stubs by @jorenham in #21137
- YOLOE: specify device for text embedding cache loading by @Laughing-q in #21237
- Fix
is_lvis
check for open-vocabulary models evaluation by @ImJaewooChoi in #21245 - Fix metrics plotting for
Pose
andSegment
tasks by @Laughing-q in #21259 - Support intel XPU discovery by @ambitious-octopus in #21242
- Add
DATASET_DIR
relative path compatibility for grounding datasets by @Laughing-q in #21256 - Avoid modifying original image during
CopyPaste
augmentation by @Y-T-G in #21262 - Pin
ai-edge-litert>=1.2.0,<1.4.0
by @Laughing-q in #21265 ultralytics 8.3.162
Replacetorch.load
calls with patchedtorch_load
method that defaults toweights_only=False
by @Y-T-G in #21260
New Contributors
Full Changelog: v8.3.161...v8.3.162