Ultralytics v8.3.190 β Torch-native NMS, faster inference, smoother UX 
Quick summary: This release delivers a faster, torchvision-free NMS pipeline optimized for YOLO11, plus stability and UX upgrades across CoreML, progress bars, macOS handling, and reproducibility. See the highlights below and check the full details in the Ultralytics v8.3.190 release notes.
YOLO11 remains our latest stable and recommended model for all use cases.
Highlights
- Torch-native NMS in
ultralytics/utils/nms.pyspeeds up post-processing on CPU and GPU, removing the hard dependency ontorchvision.ops.nms. - Cleaner
AutoBackend(model=...)API with unified PyTorch loading and safer no-grad defaults. - CoreML inference reliability via a
coremltools>=8.0gate and clear logging. - Better progress bars (ETA, stable rate), faster startup (DNS-based connectivity checks), and improved reproducibility with Git commit hashes in checkpoints.
New Features
- PyTorch-native NMS for YOLO:
- Exact-match
TorchNMS.nmsand vectorizedTorchNMS.fast_nms. - Refactored
non_max_suppressionwith rotated NMS support viafast_nms+batch_probiou. - Updated imports across
predict,val, examples tofrom ultralytics.utils import nms. - OBB pipelines and exporter use
TorchNMS.fast_nmsfor rotated boxes.
- Exact-match
Improvements
- AutoBackend API cleanup:
- Renamed parameter to
model=for consistency and to avoid duplicate memory usage. - Unified handling for in-memory
torch.nn.Moduleand.ptfiles; gradients disabled by default. - Clearer CoreML logging and version gating.
- Renamed parameter to
- Platform performance and stability:
- Safe reintroduction of in-place ops (
sigmoid_(),clamp_()) on non-macOS 14 systems. - New
MACOS14/NOT_MACOS14flags to handle Apple MPS quirks.
- Safe reintroduction of in-place ops (
- Faster, cleaner startup:
- DNS-based connectivity checks for quicker, more reliable startup.
- Heavy imports (e.g.,
requests,psutil, HUB utils) scoped to runtime to reduce import overhead.
- Geometry and data handling:
- Robust shape handling for HW/HWC paths, clarified padding logic, fewer redundant index ops.
- UX and docs:
- TQDM now shows ETA, stable rates, and a clearer final state.
- Docs/scripts/datasets migrate to
subprocess.run(...)for safer command execution.
- Reproducibility and CI:
- Trainer saves
git_commitin checkpoints, with cachedutils.get_git_commit(). - CI runs for PRs targeting any branch, speeding up feedback.
- Trainer saves
Bug Fixes
- OBB logging corrected for clearer prediction info.
Quick Start and Examples
- Upgrade to the latest release:
pip install -U ultralytics - Use the new NMS utilities:
from ultralytics.utils import nms # preds: [B, C+4(+M), N] out = nms.non_max_suppression(preds, conf_thres=0.25, iou_thres=0.45) - Updated AutoBackend parameter:
from ultralytics.nn.autobackend import AutoBackend model = AutoBackend(model="yolo11n.pt", device="cuda") - Ensure CoreML tools are up-to-date:
pip install -U "coremltools>=8.0"
Whatβs Changed (PRs)
- PR #21862: Torch-native NMS in AutoBackend for v8.3.190 by @glenn-jocher
- PR #21861: Add CoreML tools >= 8.0 check to AutoBackend by @glenn-jocher
- PR #21868: TQDM progress bar now displays remaining time by @Laughing-q
- PR #21870: Notebook updates by @glenn-jocher
- PR #21871: Fix OBB prediction logging info by @Laughing-q
- PR #21876: Scope requests imports by @glenn-jocher
- PR #21879: Run CI for PRs targeting any branch by @glenn-jocher
- PR #21877: Eliminate duplicate ops indexing by @glenn-jocher
- PR #21883: Add MACOS14 platform check by @glenn-jocher
- PR #21881: Rename AutoBackend(weights=) to model= by @glenn-jocher
- PR #21878: Reintroduce in-place clamp_() and sigmoid_() by @glenn-jocher
- PR #21836: Save git commit hash in checkpoints by @Bovey0809
- PR #21887: Standardize docs build subprocess calls by @glenn-jocher
- PR #21888: Use subprocess.run() for dataset autodownloads by @glenn-jocher
- PR #21886: Faster online check via DNS resolution by @glenn-jocher
New Contributor
We welcome a new contributor to the project: @Bovey0809, whose first contribution landed in PR #21836: Save git commit hash in checkpoints. Thank you!
Try it and share feedback
Upgrade to v8.3.190 and let us know how the torch-native NMS and platform improvements work for you. You can review everything in the full changelog comparing v8.3.189 β v8.3.190 and continue the conversation in Ultralytics Discussions. Your feedback helps the community and the team keep improving YOLO for everyone.