pypi ultralytics 8.3.223
v8.3.223 - `ultralytics 8.3.223` Sort `scores` inplace in `FastNMS` with `use_triu=False` (#22537)

16 hours ago

๐ŸŒŸ Summary

Ultralytics 8.3.223 improves post-processing correctness in FastNMS, stabilizes RT-DETR validation, and refactors TensorFlow/TFLite/Edge TPU/TFJS export for cleaner APIs and more reliable exportsโ€”plus better FLOPs accuracy via a dependency bump. ๐Ÿš€

๐Ÿ“Š Key Changes

  • FastNMS fix (priority) ๐Ÿ”ง

    • Sorts and writes back scores in-place when use_triu=False, ensuring alignment with sorted indices for consistent outputs in downstream consumers like NMSModel.
    • PR: Sort scores in FastNMS by @Y-T-G (#22537).
  • RT-DETR validation stability โœ…

    • Ensures ratio_pad is correctly formatted during validation to prevent crashes and stabilize evaluation.
    • PR: RTDETRDataset ratio_pad fix by @Y-T-G (#22525).
  • Export refactor: TensorFlow/TFLite/Edge TPU/TFJS โ™ป๏ธ

    • Modular export utilities split into ultralytics.utils.export.engine and ultralytics.utils.export.tensorflow with wrappers to avoid fragile ops and improve reliability.
    • Cleaner exporter code paths for SavedModel, .pb, TFLite (INT8), Edge TPU, and TFJS.
    • PR: Refactor exports by @Laughing-q (#22115).
  • Accurate FLOPs reporting ๐Ÿ“ˆ

    • Dependency bump: ultralytics-thop>=2.0.18 for better FLOPs calculations, improving benchmarking across models (e.g., YOLO11/YOLO26).
    • PR: Update dependency by @glenn-jocher (#22526).
  • IMX export message clarity ๐Ÿงญ

    • Error message now correctly states IMX export supports detection, pose, and classification.
    • PR: Update IMX message by @lakshanthad (#22533).
  • Standardized dataset class names ๐Ÿ‡บ๐Ÿ‡ธ

    • American English naming in dataset YAMLs (e.g., โ€œdoughnutโ€ โ†’ โ€œdonutโ€, โ€œarmourโ€ โ†’ โ€œarmorโ€). Display-only; no impact on training indices.
    • PR: Remove British class names by @glenn-jocher (#22517).

๐ŸŽฏ Purpose & Impact

  • More correct and stable NMS outputs ๐Ÿ›ก๏ธ

    • The FastNMS fix eliminates mismatches between sorted indices and scores, preventing subtle ranking issues and improving result consistency for all users relying on FastNMS.
  • Fewer validation crashes for RT-DETR ๐Ÿ“

    • Proper ratio_pad handling avoids runtime errors and increases reliability during validation and metrics computation.
  • Easier, more reliable exports across ecosystems ๐ŸŒ

    • Export refactor reduces edge-case failures in SavedModel/.pb/TFLite/Edge TPU/TFJS flows and centralizes TF-specific logic for cleaner maintenance and future improvements.
  • Better, more consistent benchmarks ๐Ÿ”ฌ

    • Updated ultralytics-thop improves FLOPs accuracy and compatibility, leading to more trustworthy comparisons across models and environments.
  • Clearer developer experience โœจ

    • IMX messaging prevents confusion; dataset naming standardization improves consistency in visualizations and docs.

Quick tip to upgrade:

pip install -U ultralytics

Thanks to contributors @Y-T-G, @Laughing-q, @glenn-jocher, and @lakshanthad! ๐Ÿ™Œ

What's Changed

Full Changelog: v8.3.222...v8.3.223

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.