🌟 Summary (single-line synopsis)
Ultralytics 8.3.249 adds an official NVIDIA ARM64 Docker image for running YOLO11 on JetPack 7 / ARM64 GPUs (plus a few usability + contributor/docs improvements) 🚀🐳
📊 Key Changes
- 🐳 New Docker image for NVIDIA ARM64 (JetPack 7 / ARM64 GPUs)
- Added
docker/Dockerfile-nvidia-arm64based on NVIDIA’s PyTorch NGC image (nvcr.io/nvidia/pytorch:25.10-py3) - CI now builds & publishes
ultralytics/ultralytics:latest-nvidia-arm64 - Container tweaks for smoother out-of-the-box use:
- Uses
opencv-python-headless(avoids GUI dependency issues in containers) 🧩 - Installs ARM64
onnxruntime_gpu+ reinstallstorch/torchvisionfor CUDA compatibility 🔥 - Preloads Ultralytics fonts + includes a default YOLO11 model (
yolo11n.pt) 📦
- Uses
- JetPack 7 docs updated with pull/run commands ✅
- Added
- 🔗 Support for
ul://URIs (Ultralytics Platform / HUB-style referencing)- New
resolve_platform_uri()resolvesul://...into signed download URLs (usingULTRALYTICS_API_KEY) check_file()now acceptsul://...and automatically downloads/caches the file locally 📥🗂️- Better error messages for invalid keys, forbidden access, not found, and “still processing” cases 🚦
- New
- 🧮 Fix: ObjectCounter label display logic
- Corrected operator precedence in
ObjectCounter.display_countssoshow_in/show_outflags behave correctly (prevents empty/incorrect labels) 🛠️
- Corrected operator precedence in
- 📝 Contributor workflow improvements
- Updated
CONTRIBUTING.mdwith PR size/scope guidance, feature PR expectations, and automated review notes to streamline contributions 🤝
- Updated
🎯 Purpose & Impact
- 🚀 Easier deployment on new NVIDIA ARM64 platforms (Jetson AGX Thor, DGX Spark, JetPack 7)
- Reduces setup friction (drivers/libs/Python deps) and gets users to a working YOLO11 environment faster—especially useful for edge + embedded deployments.
- 🐳 More consistent “it just works” container experience
- Headless OpenCV and pinned runtime dependencies lower the chance of common container runtime/import issues, improving reliability for production and CI.
- 🔗 Simpler sharing & reproducibility with
ul://- Users can reference datasets/models by a short URI and let Ultralytics handle secure resolution + download, making scripts and configs cleaner and more portable.
- ✅ Cleaner analytics overlays in ObjectCounter
- Prevents misleading or empty class labels when only IN/OUT is enabled—better visual outputs with fewer surprises.
- 📘 Faster, clearer open-source contributions
- Better guidelines help contributors submit reviewable PRs, which can speed up merges and reduce back-and-forth.
If you want to try the new ARM64 image on JetPack 7:
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tWhat's Changed
- Add scope and PR size guidelines to
CONTRIBUTING.mdby @Y-T-G in #23133 - Fix typo in CONTRIBUTING.md guidelines by @Y-T-G in #23134
- Fix operator precedence in
ObjectCounter.display_countsby @raimbekovm in #23132 - URI resolution by @glenn-jocher in #23136
ultralytics 8.3.249Jetson AGX Thor and DGX Spark Docker by @lakshanthad in #23111
Full Changelog: v8.3.248...v8.3.249