New Release: Ultralytics v8.3.121

:rocket: Ultralytics v8.3.121 Release: Focal Loss for Imbalance, Augmentation Fixes, Python 3.12 Support & More!

:glowing_star: 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!


:bar_chart: 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)
  • 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.

:bullseye: 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.

:link: Links & Resources


:speaking_head: 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!