pypi ultralytics 8.4.8
v8.4.8 - `ultralytics 8.4.8` Support `max_det` and `agnostic_nms` for end2end (#23396)

9 hours ago

🌟 Summary (single-line synopsis)

Ultralytics v8.4.8 makes end-to-end (NMS-free) YOLO26/YOLOv10 inference actually honor max_det and agnostic_nms, giving you predictable control over how many detections you get and how classes are handled βœ…πŸš€

πŸ“Š Key Changes

  • End2end now supports max_det + agnostic_nms (PR #23396 by @Y-T-G) πŸŽ›οΈ
    • Adds a safe set_head_attr(**kwargs) helper to set head/last-layer attributes like end2end, max_det, agnostic_nms 🧩
    • When end2end=True, predict and val now push max_det + agnostic_nms into the model head, so these flags actually take effect βš™οΈ
    • Adds agnostic_nms support inside the Detect head (affects top-k selection logic used in end-to-end mode) 🎯
    • Export pipeline also carries agnostic_nms into the exported head for better parity between Python and exported models πŸ“¦
  • Clearer end2end controls across CLI/docs πŸ“š
    • Adds end2end to config/defaults and docs for predict/val/export args 🧾
    • Expands tests to run export/predict/val with end2end=True/False βœ…πŸ§ͺ
  • Notable additional fixes included in this tag (smaller but impactful) πŸ› οΈ
    • Export reliability: exporter auto-disables end2end for formats that don’t support required ops (RKNN/NCNN/ExecuTorch/Paddle/IMX) and stores end2end in metadata 🧰
    • YOLOE/YOLO-World training usability: allows passing a YAML file (or Path) for multi-source data configs πŸ—‚οΈ
    • Docs improvements: new Compare section + cleaner navigation; sitemap auto-fills missing pages 🧭
    • Stability fixes: rotated-OBB small-box robustness, DDP unwrap fixes for pose validation, PyTorch 1.9 compatibility adjustment, OpenVINO/ONNX example bugfixes πŸ”§

🎯 Purpose & Impact

  • More predictable end-to-end inference results 🧠
    • max_det now reliably limits outputs in end2end mode (no more β€œwhy didn’t it cap?” confusion).
  • Better class-agnostic behavior when you need it 🧹
    • agnostic_nms becomes meaningful in end2end workflows, helpful when classes overlap heavily or you want β€œbest boxes regardless of class”.
  • Closer parity between Python and exported deployments 🚚
    • Exported models are less likely to behave differently from local inference due to missing head settings.
  • Fewer surprises across formats & environments βœ…
    • Safer exporting to constrained runtimes, more robust training/validation in edge cases, and improved docs discoverability for new users.

If you’re using YOLO26 (the recommended model family) in end-to-end mode, this release is a practical quality-of-life upgrade. πŸš€πŸ™‚

What's Changed

New Contributors

Full Changelog: v8.4.7...v8.4.8

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.