Ultralytics v8.3.121 Release: Focal Loss for Imbalance, Augmentation Fixes, Python 3.12 Support & More!
Summary
We’re excited to announce Ultralytics v8.3.121—an update focused on making your training experience smoother, smarter, and more reliable. The headline feature is enhanced support for class imbalance using Focal Loss, alongside fixes for data augmentation, updated guides, modernized dependencies, and improved export reliability. Whether you’re just getting started or a seasoned YOLO pro, these improvements are designed for you!
Key Changes
New Features
- Focal Loss with Multi-Class Support
- Now you can use Focal Loss with both single and per-class weighting, giving you powerful, granular control over class imbalance during training. Tackle uneven datasets with confidence!
- (PR by @pow3rpi)
Improvements
-
CutMix Augmentation Fix
- The label selection logic in CutMix has been corrected, preventing errors when mixing images with no valid labels. Data augmentation is now safer and more predictable.
- (PR by @Laughing-q)
-
Augmentation Documentation Update
- Documentation for CutMix and CopyPaste has been improved, now featuring expanded explanations and dynamic argument tables for easier configuration.
- (PR by @picsalex)
-
Dependency & Download Reliability
- The system checks if
curl
is installed before attempting downloads, which reduces setup errors and makes initial installation go more smoothly. - (PR by @glenn-jocher)
- The system checks if
-
TensorRT INT8 Calibration Upgrade
- Switched INT8 calibration method from “Entropy” to “MinMax” to boost compatibility across a wider array of hardware platforms.
- (PR by @Laughing-q)
-
Continuous Integration: Python 3.12 Support
- Ultralytics is now tested every release with Python 3.12, ensuring compatibility as you upgrade environments.
- (PR by @glenn-jocher)
-
OpenVINO INT8 Model Export
- Improved dependency handling results in smoother model exports for INT8 with OpenVINO.
Bug Fixes
- All changes above combine to reduce crash risks, simplify onboarding, and increase training reliability.
Purpose & Impact
- Precision Training: Class imbalance can skew results. Multi-class Focal Loss lets you address this and boost model performance on real-world, uneven datasets.
- Workflow Stability: Augmentation and installation improvements mean fewer interruptions and more time training.
- Accessibility: Updated guides and compatibility with the newest Python help everyone—from new users to pros—get the most from Ultralytics.
- Future Ready: Enhanced export logic and core library upgrades set the stage for long-term success.
Links & Resources
- Release Page: Ultralytics v8.3.121 Release Notes
- Full Changelog: Compare v8.3.120…v8.3.121
Get Involved!
We’d love for you to try out Ultralytics v8.3.121! Explore the new features, test the fixes, and let us know how it works for you. Your feedback, questions, and bug reports are always welcome—this community drives YOLO forward!
Thank you for being a part of the journey. On behalf of the entire Ultralytics team and contributors, happy training!