🌟 Summary (single-line synopsis)
Ultralytics v8.4.6 is a reliability-focused release that fixes a multi-GPU DDP training crash and improves Ultralytics HUB/Platform dataset URI handling, plus several documentation upgrades 📈🛠️
📊 Key Changes
- ✅ Fixed DDP multi-GPU training crash (PR #23301 by @pfabreu)
- Added missing
PosixPathimport to the generated temporary DDP training script (ultralytics/utils/dist.py). - Prevents
NameError: name 'PosixPath' is not definedwhen model paths are passed asPosixPathobjects (common on Linux) during Distributed Data Parallel training 🧩🧯
- Added missing
- ⏱️ More robust dataset URI resolution for large Ultralytics HUB/Platform datasets (PR #23305 by @glenn-jocher)
ul://...dataset URLs now allow a much longer server-side preparation time (NDJSON generation) to avoid premature timeouts 🐢📦
- 🧹 Developer quality: BYTETracker typing modernized (PR #23304)
- Switched legacy
# type:comments to inline type annotations inBYTETracker(no behavior change) 🧠🔧
- Switched legacy
- 📚 Docs + Platform guidance improvements (PR #23294, #23298)
- Added new docs for Activity Feed and Trash/Restore, refreshed billing/GPU pricing, added “Try on Ultralytics Platform” callouts for YOLO11 / YOLO26 / YOLOv5 / YOLOv8, plus small typo fixes ✍️🚀
🎯 Purpose & Impact
- DDP training is stable again on multi-GPU setups 🎛️✅
- If you upgraded to 8.4.5 and saw failures when launching DDP training (especially with models like
yolo26n.ptpassed as aPath/PosixPath), this release removes that blocker—less downtime, fewer confusing crashes.
- If you upgraded to 8.4.5 and saw failures when launching DDP training (especially with models like
- Fewer flaky failures when using
ul://...datasets from Ultralytics HUB/Platform 🌐✅- Large datasets can take longer to prepare; the smarter timeout reduces false “timeout” errors during dataset resolution.
- Better usability and discoverability in docs 🧭📘
- Clearer Platform workflows (Activity Feed, Trash/Restore) and more direct “try it now” paths for major YOLO models.
For more context, see the v8.4.6 release tag on GitHub.
What's Changed
- Improve Platform docs by @glenn-jocher in #23294
- Fix typos in YOLO26 and YOLOE docs by @raimbekovm in #23298
- Longer NDJSON generation timeout by @glenn-jocher in #23305
- Modernize type comments to inline annotations in
byte_tracker.pyby @ahmet-f-gumustas in #23304 ultralytics 8.4.6Add missing PosixPath import in DDP train file gen by @pfabreu in #23301
New Contributors
- @ahmet-f-gumustas made their first contribution in #23304
Full Changelog: v8.4.5...v8.4.6