Ultralytics v8.3.193 Released 
Quick summary: v8.3.193 brings faster long-video and large-batch inference via automatic TorchVision NMS, a unified checkpoint loading API, and cleaner progress bars with smarter rate scaling. You’ll also see absolute save paths in logs, more stable exports, better PyTorch version handling, and improved segmentation validation. Perfect for day-to-day workflows across CLI and Ultralytics HUB.
Highlights
Automatic TorchVision NMS for long-sequence inference (videos, streams, large image sets) — no action needed.
Unified
load_checkpoint
API used across the codebase for simpler, consistent model loading.Cleaner, faster TQDM progress bars with human-friendly rate units and improved completion display.
Absolute save paths in logs for unambiguous run tracking.
Stable exports with
onnxslim==0.1.65
pin.Robust PyTorch version handling.
More accurate segmentation validation.
Tip: If you parse exact progress bar strings, please update your tooling due to the new TQDM formatting.
New Features
-
Long-sequence inference optimization in PR #21926 by @Laughing-q
- Automatically preloads
torchvision
to trigger TorchVision-based NMS on streams, screenshots, >1000 images, or any video. - Warnings are now targeted and shown only when not in stream mode.
- Automatically preloads
-
Unified checkpoint loading API in PR #21933 by @glenn-jocher
- Replaces
attempt_load_one_weight
/attempt_load_weights
with a singleload_checkpoint
function. - Docs updated to reference
ultralytics.nn.tasks.load_checkpoint
.
- Replaces
Minimal example:
from ultralytics.nn.tasks import load_checkpoint
model, ckpt = load_checkpoint("yolo11n.pt", device="cpu", fuse=False)
Improvements
-
TQDM progress bar upgrades in PR #21944, PR #21934, and PR #21932 by @glenn-jocher
- Faster f-string formatting, smarter/smoother rates, human-friendly K/M/G scaling, and cleaner completion display.
-
Clearer save paths in PR #21931 by @glenn-jocher
get_save_dir()
now returns absolute paths for unambiguous run locations.
-
Stable export workflows in PR #21941 by @Laughing-q
- Pins
onnxslim==0.1.65
for ONNX and TF SavedModel exports to avoid unexpected breakages.
- Pins
-
Robust PyTorch version handling in PR #21921 by @RizwanMunawar
- Normalizes
TORCH_VERSION
usage and aligns version checks/logging.
- Normalizes
-
Better segmentation validation in PR #21503 by @Y-T-G
- Corrects mask preparation for
overlap_mask=True
and simplifies IoU computation.
- Corrects mask preparation for
-
Docs and dataset improvements:
- Update docs CI to Python 3.9 in PR #21929 by @glenn-jocher
- Clarify dataset directory structure in PR #21942 by @RizwanMunawar
- Fix
autosplit
import inxView.yaml
in PR #21939 by @Laughing-q - Clarify negative coordinate assertion in PR #21930 by @samrere
-
Internal optimizations:
- Faster
isinstance()
checks in PR #21928 by @glenn-jocher
- Faster
Bug Fixes
- Resolved potential breakages in export pipelines by pinning
onnxslim==0.1.65
in PR #21941 by @Laughing-q - Fixed PyTorch version parsing inconsistencies in PR #21921 by @RizwanMunawar
- Corrected segmentation validation mask logic in PR #21503 by @Y-T-G
- Cleaned up TQDM output duplication and improved rate scaling in PR #21932 and PR #21934 by @glenn-jocher
Try It
- Upgrade:
pip install -U ultralytics
- Quick test with YOLO11:
- CLI:
yolo predict model=yolo11n.pt source=video.mp4
- Python:
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.predict(source="video.mp4")
- CLI:
YOLO11 is the latest stable and recommended Ultralytics YOLO model for all use cases.
What’s Changed (PRs and Authors)
- Update docs.yml for Python 3.9 ruff format target in PR #21929 by @glenn-jocher
- Display resolved
save_dir
in PR #21931 by @glenn-jocher - Remove TQDM duplicate filesize info on completion in PR #21932 by @glenn-jocher
- TQDM smart rate scaling in PR #21934 by @glenn-jocher
- Clarify negative coordinate assertion in PR #21930 by @samrere
- Pin
onnxslim==0.1.65
in PR #21941 by @Laughing-q - Fix
autosplit
import inxView.yaml
in PR #21939 by @Laughing-q - Fix
torch._version_
check forTorch>1.9
in PR #21921 by @RizwanMunawar - Scope batch mask process to
_prepare_batch
in PR #21503 by @Y-T-G - Consolidate checkpoint loading functions in PR #21933 by @glenn-jocher
- Faster
isinstance()
checks in PR #21928 by @glenn-jocher - Fix dataset directory structure information in docs in PR #21942 by @RizwanMunawar
- TQDM f-strings for speed in PR #21944 by @glenn-jocher
- Preload
torchvision
for long-sequence inference in PR #21926 by @Laughing-q
New Contributor
- Big thanks to first-time contributor @samrere!
Links
- Read the full announcement in the Ultralytics v8.3.193 release notes.
- Explore all diffs in the full changelog between v8.3.192 and v8.3.193.
Feedback
We’d love your feedback and benchmarks—especially on long videos, streams, and large image batches. If you spot anything, please open a discussion or PR. Thanks to the YOLO community and the Ultralytics team for making this possible!