🌟 Summary
This release boosts training speed and efficiency for YOLOWorld and YOLOE models by optimizing how text features are cached and handled, alongside improvements to ONNX export reliability and embedding computations. 🚀📚
📊 Key Changes
- YOLOWorld & YOLOE Text Embedding Optimization:
- Text embeddings for category names are now cached, avoiding repeated calculations during training.
- Unified and improved text embedding generation and storage across YOLOWorld and YOLOE trainers.
- Introduced a new
build_text_model
utility for modular and compatible text model handling. - Enhanced preprocessing and integration of text features into training batches.
- Embeddings are saved with model-specific filenames and only regenerated when necessary.
- ONNX Export Improvements:
- Updated
onnxslim
dependency to version 0.1.53 for better ONNX and TensorFlow export support. - Simplified and clarified test logic for ONNX and OpenVINO exports.
- Improved test output for easier debugging and re-enabled Jetson-specific test conditions.
- Updated
- Embedding Computation Optimization:
- Reduced redundant computations by optimizing how embedding indices are handled, leading to faster embedding extraction.
🎯 Purpose & Impact
- ⚡ Faster Training for Text-based Models:
- By caching text features, training with YOLOWorld and YOLOE is now significantly faster and more efficient, especially for models using many text-based categories.
- 🧠 Smarter Resource Usage:
- Avoids unnecessary recomputation, saving time and computational resources.
- 🔄 Improved Export Reliability:
- Ensures smoother and more reliable model exports to ONNX and TensorFlow formats, benefiting deployment workflows.
- 🛠️ Easier Maintenance & Debugging:
- Cleaner code and clearer test outputs make it easier for developers to maintain and troubleshoot the codebase.
Overall, this update makes training and deploying Ultralytics models more efficient, robust, and user-friendly for both developers and end users. 🚀✨
What's Changed
- Use
onnxslim>=0.1.53
and simplify whendynamic=True
by @inisis in #20569 - Optimization for embedding computation by @genji970 in #20579
ultralytics 8.3.137
YOLO-World text features cache optimization by @h13-0 in #20480
New Contributors
Full Changelog: v8.3.136...v8.3.137