pypi ultralytics 8.4.10
v8.4.10 - `ultralytics 8.4.10` YOLOE-26 default `agnostic_nms=True` (#23525)

9 hours ago

🌟 Summary (single-line synopsis)

Ultralytics 8.4.10 improves YOLOE-26 out-of-the-box predictions by defaulting to class-agnostic NMS, plus several export, OpenVINO, HUB, SAM, and docs reliability upgrades 🚀🧠

📊 Key Changes

  • 🧠 YOLOE-26 inference default change (most important): YOLOE predictions now default to agnostic_nms=True, reducing overlapping duplicate boxes across different classes (set in ultralytics/models/yolo/model.py).
  • 📦 Version bump: 8.4.98.4.10.
  • 🍏 CoreML export feature: CoreML export now correctly honors agnostic_nms (previously the argument existed but wasn’t applied in the CoreML NMS pipeline).
  • ⚙️ TensorRT setup reliability: added check_tensorrt() helper and used it in export + tests to reduce missing-dependency failures; also adds special handling to pin compatible TensorRT on Jetson JetPack 7 / CUDA 13 ARM for RT-DETR exports.
  • 🏎️ OpenVINO bugfix: fixes an UnboundLocalError risk by making the inference-mode check safe when dynamic is false.
  • ☁️ Ultralytics HUB robustness: HUB session now raises clearer HUBModelError (instead of generic ValueError or silently returning None) when loading/creating HUB models fails.
  • 🧩 SAM results metadata fix: improves how class names are generated (especially for single-object outputs and “visual” naming mode).
  • 🛡️ Instances safety + debugging: avoids crashes when segments=None during zero-area filtering, and adds a helpful Instances.__repr__() for easier debugging.
  • 📚 Docs improvements: YOLOE examples simplified to model.set_classes(["person", "bus"]) (no manual text embedding handling), ExecuTorch docs updated with YOLO26 benchmarks, and Benchmark docs video link refreshed.

🎯 Purpose & Impact

  • 🎯 More consistent YOLOE predictions by default: class-agnostic NMS helps suppress duplicate overlapping detections across classes, improving “it just works” behavior for new users.
  • ⚠️ Behavior change to expect: YOLOE outputs may differ vs. 8.4.9 (some boxes previously kept may now be suppressed). If you relied on per-class duplicates, explicitly set agnostic_nms=False.
  • 🍏 More predictable exports across formats: CoreML now matches other exporters when agnostic_nms is enabled—fewer surprises when deploying to Apple devices.
  • 🤖 Smoother Jetson/TensorRT experience: fewer export failures and less manual dependency wrangling, especially on newer Jetson stacks (JetPack 7).
  • 🧯 Fewer runtime errors: OpenVINO, Instances filtering, HUB model handling, and SAM naming fixes reduce “random crash” scenarios and make failures easier to diagnose.
  • 🧼 Cleaner onboarding + examples: YOLOE prompting is easier to copy/paste, and YOLO26 guidance in docs stays aligned with the recommended models.

You can update with: pip install -U ultralytics ⬆️✅

What's Changed

New Contributors

Full Changelog: v8.4.9...v8.4.10

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.