freshcrate
Home > RAG & Memory > ultralytics

ultralytics

Ultralytics YOLO πŸš€ for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.

Description

<div align="center"> <p> <a href="https://platform.ultralytics.com/?utm_source=github&utm_medium=referral&utm_campaign=platform_launch&utm_content=banner&utm_term=ultralytics_github" target="_blank"> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a> </p> [δΈ­ζ–‡](https://docs.ultralytics.com/zh/) | [ν•œκ΅­μ–΄](https://docs.ultralytics.com/ko/) | [ζ—₯本θͺž](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [FranΓ§ais](https://docs.ultralytics.com/fr/) | [EspaΓ±ol](https://docs.ultralytics.com/es) | [PortuguΓͺs](https://docs.ultralytics.com/pt/) | [TΓΌrkΓ§e](https://docs.ultralytics.com/tr/) | [TiαΊΏng Việt](https://docs.ultralytics.com/vi/) | [Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©](https://docs.ultralytics.com/ar/) <br> <div> <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml/badge.svg" alt="Ultralytics CI"></a> <a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a> <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a> <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a> <a href="https://www.reddit.com/r/ultralytics/"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a> <br> <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a> <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a> <a href="https://www.kaggle.com/models/ultralytics/yolo26"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a> <a href="https://mybinder.org/v2/gh/ultralytics/ultralytics/HEAD?labpath=examples%2Ftutorial.ipynb"><img src="https://mybinder.org/badge_logo.svg" alt="Open Ultralytics In Binder"></a> </div> </div> <br> [Ultralytics](https://www.ultralytics.com/) creates cutting-edge, state-of-the-art (SOTA) [YOLO models](https://www.ultralytics.com/yolo) built on years of foundational research in computer vision and AI. Constantly updated for performance and flexibility, our models are **fast**, **accurate**, and **easy to use**. They excel at [object detection](https://docs.ultralytics.com/tasks/detect/), [tracking](https://docs.ultralytics.com/modes/track/), [instance segmentation](https://docs.ultralytics.com/tasks/segment/), [image classification](https://docs.ultralytics.com/tasks/classify/), and [pose estimation](https://docs.ultralytics.com/tasks/pose/) tasks. Find detailed documentation in the [Ultralytics Docs](https://docs.ultralytics.com/). Get support via [GitHub Issues](https://github.com/ultralytics/ultralytics/issues/new/choose). Join discussions on [Discord](https://discord.com/invite/ultralytics), [Reddit](https://www.reddit.com/r/ultralytics/), and the [Ultralytics Community Forums](https://community.ultralytics.com/)! Request an Enterprise License for commercial use at [Ultralytics Licensing](https://www.ultralytics.com/license). <a href="https://platform.ultralytics.com/ultralytics/yolo26" target="_blank"> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/refs/heads/main/yolo/performance-comparison.png" alt="YOLO26 performance plots"> </a> <div align="center"> <a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="2%" alt="Ultralytics GitHub"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="2%" alt="Ultralytics LinkedIn"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="2%" alt="Ultralytics Twitter"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://www.youtube.com/ultralytics?sub_confirmation=1"><img s

Release History

VersionChangesUrgencyDate
8.4.41Imported from PyPI (8.4.41)Low4/21/2026
v8.4.41## 🌟 Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance πŸ“ˆβœ¨ ## πŸ“Š Key Changes - 🎯 **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive β€œghost” object IDs. - Tracker keep-alive settings were tightened (`init_trHigh4/21/2026
v8.4.40## 🌟 Summary Ultralytics `v8.4.40` introduces **per-image precision/recall/F1 tracking during validation** (led by PR #24089 from @Laughing-q), making it much easier to see exactly which images your model handles well or poorly. πŸ“ˆπŸ–ΌοΈ ## πŸ“Š Key Changes - **New per-image validation metrics** added to results: - `precision`, `recall`, `f1`, `tp`, `fp`, `fn` for each image. - Exposed via `metrics.box.image_metrics` (and also for `seg` and `pose` where applicable). βœ… - **Detection validation pHigh4/20/2026
v8.4.39## 🌟 Summary Ultralytics **v8.4.39** is a quality-and-usability release focused on clearer run naming (`exp-2`), better CLI coverage for Solutions, safer rotated-box training behavior, and broad documentation/platform clarity improvements. πŸš€ ## πŸ“Š Key Changes - **(Most important) Dashed run path increments are now default** via PR #24193 by @glenn-jocher βœ… - `increment_path()` now creates names like `exp-2` and `results-2.txt` (instead of `exp2`, `results2.txt`). - Added regression testHigh4/18/2026
v8.4.38## 🌟 Summary Ultralytics **v8.4.38** is a stability-focused release that mainly improves **model export reliability and consistency** across many deployment formats, with additional fixes for training, tracking, and SAM3 behavior. πŸš€ ## πŸ“Š Key Changes - **Top priority (PR #24120 by @Laughing-q): Unified standalone export behavior** across CoreML, ONNX, OpenVINO, TensorFlow, TorchScript, ExecuTorch, Axelera, RKNN, IMX, NCNN, MNN, and Paddle. πŸ“¦ - CoreML now uses the model’s real input name (iHigh4/16/2026
v8.4.37## 🌟 Summary Ultralytics `v8.4.37` is a **quality + workflow-focused release**: the tag PR itself is a version bump, while the main substance is improved hyperparameter tuning (now NDJSON-based for multi-dataset runs), better handling of class imbalance, stronger training reliability, and clearer docs/UI guidance. πŸš€ ## πŸ“Š Key Changes > [!WARNING] > The mAP calculation has been revised in this release. Reported mAP may be slightly lower than in previous Ultralytics versions, but now morMedium4/10/2026
v8.4.36## 🌟 Summary Ultralytics `v8.4.36` is a **stability-focused release** that fixes an important training regression for checkpoint-based workflows (especially Ultralytics Platform/HUB usage), plus several documentation clarifications for Platform, Explorer, and Jetson guides. βœ… ## πŸ“Š Key Changes - 🧠 **Critical training fix in `Model.train()` (PR #24167 by @glenn-jocher)** - Restores checkpoint-backed model seeding so if a `.pt` model is already loaded, training reuses that loaded model direMedium4/8/2026
v8.4.35## 🌟 Summary Ultralytics `v8.4.35` is a **stability-focused release** that makes training recovery smarter, dataset caching safer, and inference/runtime behavior more reliableβ€”especially when runs hit NaNs or dataset metadata is inconsistent. πŸš€πŸ›‘οΈ ## πŸ“Š Key Changes - **NaN training recovery improved (most important, PR #24154 by @glenn-jocher)** πŸ” - Training now recovers from `last_good.pt` instead of retrying a potentially corrupted `last.pt`. - Checkpoint saves are now skipped if EMAMedium4/7/2026
v8.4.34## 🌟 Summary Ultralytics `v8.4.34` is a **tuning and stability-focused release** πŸš€, led by a major new feature: **multi-dataset hyperparameter tuning** in one run, plus several important reliability fixes and broad YOLO26 documentation updates. ## πŸ“Š Key Changes - **🧠 Major feature (PR #24067 by @Laughing-q): Multi-dataset hyperparameter tuning** - `model.tune()` now accepts `data` as either a single dataset or a list. - During each tuning iteration, training runs across each dataset, thMedium4/6/2026
v8.4.33## 🌟 Summary Ultralytics **v8.4.33** focuses on a key training reliability fix for end-to-end YOLO workflows, plus improvements to Ray Tune flexibility and CoreML export stability πŸš€ ## πŸ“Š Key Changes - **πŸ”§ Major fix (current PR #24074 by @Laughing-q): Resume-training for end-to-end models now restores loss state correctly** - Updated `resume_training()` to properly reinitialize and sync the model’s loss criterion when loading checkpoints. - Restores internal loss update counters so one-tMedium3/31/2026
v8.4.32## 🌟 Summary v8.4.32 is mainly an **Axelera AI export expansion release** πŸš€β€”it significantly improves how Ultralytics models (including more tasks) are exported and deployed on Axelera hardware, with supporting docs and usability updates across the Ultralytics ecosystem. ## πŸ“Š Key Changes - **Major (Current PR #23844): Axelera export pipeline refactor and expansion** πŸ§ βš™οΈ - Axelera export logic was moved out of the main exporter into a dedicated utility module: `ultralytics/utils/export/aMedium3/30/2026
v8.4.31## 🌟 Summary Ultralytics `v8.4.31` is a reliability-focused release that mainly fixes **INT8 export calibration for non-square image sizes** (the headline change), while also improving training stability, export maintainability, and documentation for deployment and dataset workflows πŸš€ ## πŸ“Š Key Changes - **πŸ”₯ Main update (PR #24028 by @Y-T-G): INT8 calibration now works correctly with non-square `imgsz`** - Fixes export calibration for commands like `imgsz=640,480` with `int8`. - Affects Medium3/28/2026
v8.4.30## 🌟 Summary Ultralytics **v8.4.30** is a focused stability release that fixes and hardens **training resume** behavior, making interrupted training runs much more reliable πŸ”„βœ…. ## πŸ“Š Key Changes - **Main update (PR #24027 by @glenn-jocher):** Refactored resume logic in `trainer.py` to correctly restore training arguments from `last.pt` earlier in the resume flow. - **Better checkpoint arg handling:** Resume now loads checkpoint config immediately and rebuilds runtime args from it more consiMedium3/26/2026
v8.4.29## 🌟 Summary Ultralytics `v8.4.29` is mainly a **training reliability release** πŸ”§β€”it makes `resume=True` much safer and clearer, while also adding a helpful new COCO JSON training guide and small CI/docs/test maintenance updates. ## πŸ“Š Key Changes - **Major (current PR #24021 by @glenn-jocher): safer training resume flow** πŸ”„βœ… - `resume=True` now only resumes if the checkpoint truly contains resumable training state (like epoch + optimizer state). - If the loaded file is just a model weMedium3/26/2026
v8.4.28## 🌟 Summary Ultralytics **v8.4.28** improves training reliability on small datasets by making autobatch smarter, while also strengthening network robustness, backend efficiency, and docs/test stability. πŸš€ ## πŸ“Š Key Changes - **(Most important) Autobatch now respects dataset size** πŸ“¦ From PR #24020 by @glenn-jocher: automatic batch-size selection is now capped to the number of training images. - Added `dataset_size` through `Trainer.auto_batch()`, `check_train_batch_size()`, and `autobMedium3/26/2026
v8.4.27## 🌟 Summary Ultralytics `v8.4.27` focuses on **more reliable Ultralytics Platform training control** (especially cancellation handling) βœ…, plus several stability fixes for data conversion, postprocessing alignment, Paddle compatibility, and Docker runtime updates πŸš€. ## πŸ“Š Key Changes - **πŸ”΄ Priority update (PR #24008 by @glenn-jocher): Improved Platform training integration** - Added a new sanitizer to clean callback payloads before sending them to the Ultralytics Platform. - Non-JSON-saMedium3/25/2026
v8.4.26## 🌟 Summary **v8.4.26 focuses on reliability and usability improvements**: smarter Platform dataset handling (auto-validation split for NDJSON), more robust Platform URL resolution, and an important FP16 SAM inference crash fixβ€”plus CI and docs polish. πŸš€ ## πŸ“Š Key Changes - **βœ… Platform NDJSON auto-split (PR #23990, @glenn-jocher)** If a dataset has a `train` split but no `val`/`test`, Ultralytics now automatically creates a small validation split from training data instead of failing imMedium3/23/2026
v8.4.25## 🌟 Summary (single-line synopsis) Ultralytics `v8.4.25` mainly restores **TensorFlow.js export** for most users βœ…, while also improving training speed paths, visualization behavior, box alignment accuracy, CI reliability, and YOLO26/platform documentation clarity πŸš€πŸ“š. ## πŸ“Š Key Changes - **(Top priority) TF.js export restored for supported systems** πŸ”§ From PR #23985 by @glenn-jocher: - Added dependency pin `ydf<0.13.0` (non-ARM64) to avoid a TensorFlow/protobuf conflict. - Removed Medium3/23/2026
v8.4.24## 🌟 Summary **Ultralytics `v8.4.24` improves training reliability and clarity on Ultralytics Platform 🎯, while also aligning tuning defaults and docs with YOLO26 best practices πŸš€.** ## πŸ“Š Key Changes - **(Most important) Better Platform training error surfacing** πŸ› οΈ - Platform callback error handling now shows the **actual server-side error message** when available (instead of generic HTTP text). - If a Platform training session fails to register, users now get a clearer message: Low3/19/2026
v8.4.23## 🌟 Summary Ultralytics **v8.4.23** is mainly a big under-the-hood inference upgrade πŸš€: `AutoBackend` was fully redesigned into modular backend classes, making multi-format model deployment cleaner, easier to maintain, and more reliable across platforms. ## πŸ“Š Key Changes - **Major architecture refactor (PR #23790 by @Laughing-q) 🧩** - `AutoBackend` moved from one large file to a **modular backend system** (`ultralytics/nn/backends/`). - Added dedicated backend classes for many runtimesLow3/16/2026
v8.4.22## 🌟 Summary Ultralytics **v8.4.22** focuses on better hardware support and reliability, led by a key new feature: **basic Huawei Ascend NPU device support** in `select_device` πŸš€. ## πŸ“Š Key Changes - **πŸ”₯ Major (Current PR #23902 by @GiantAxeWhy): Huawei Ascend NPU parsing added** - You can now use `device=npu` or `device=npu:0` in Ultralytics. - Added checks for `torch_npu` installation and NPU availability. - Validates NPU index and gives clearer errors for invalid inputs. - ExpliciLow3/14/2026
v8.4.21## 🌟 Summary Ultralytics **v8.4.21** improves reliability for **Rockchip RKNN exports** (main change) and also adds better tuning isolation, expanded C++ pose example support, and clearer YOLO26 optimizer guidance. πŸš€ ## πŸ“Š Key Changes - **βœ… Main priority (PR #23806 by @Laughing-q): RKNN export path fix** - RKNN filename generation was refactored to use safer path handling (`Path(...).stem`) instead of fragile string replacement. - Export output naming is now cleaner and more consistent, eLow3/5/2026
v8.4.20## 🌟 Summary Ultralytics `v8.4.20` is a stability-and-usability release focused on cleaner hyperparameter tuning, more reliable deployment/export workflows, and improved docs for both YOLO models and the Ultralytics Platform πŸš€ ## πŸ“Š Key Changes - **(Most important) Ray Tune cleanup in current PR #23772** 🧹 - Removed hardcoded `tuner_callbacks` and dropped built-in W&B callback wiring from `RunConfig` in tuning. - Version bumped from `8.4.19` β†’ `8.4.20`. - **RKNN export reliability impLow3/5/2026
v8.4.19## 🌟 Summary (single-line synopsis) Ultralytics `v8.4.19` focuses on **much more reliable Ultralytics Platform training sync** (especially model tracking via `model_id`), plus a few quality improvements for SAM outputs, lightweight model stability, and clearer YOLO26 end-to-end docs πŸš€ ## πŸ“Š Key Changes - **πŸ”΄ Most important (current PR #23761 by @glenn-jocher): Platform training `model_id` fix** - Training callbacks now **consistently pass `model_id`** during model uploads and training evenLow2/28/2026
v8.4.18## 🌟 Summary Ultralytics `v8.4.18` is a reliability-focused release that improves downloads and dependency installs, while also adding stronger ExecuTorch export support (including Pose) for smoother edge/mobile deployment πŸš€. ## πŸ“Š Key Changes - **πŸ”§ Priority fix (current PR): `safe_download()` now handles URLs with spaces** by encoding spaces as `%20` (PR #23736 by @glenn-jocher). - Prevents broken downloads from links like file paths or hosted assets containing spaces. - **πŸ“± Major exportLow2/26/2026
v8.4.17## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.17** makes NDJSON dataset conversions *resplit-friendly*β€”reusing existing images, cleaning stale labels, and avoiding unnecessary downloads for faster iteration πŸš€πŸ“¦ ## πŸ“Š Key Changes - **NDJSON dataset re-split support (priority change)** β™»οΈπŸ§Ή - Detects when the dataset output folder already exists and **reuses previously downloaded images** when you change `train/val/test` splits. - For non-classification tasks (detect/segment/poLow2/25/2026
v8.4.16## 🌟 Summary (single-line synopsis) Ultralytics **8.4.16** mainly improves **Windows ↔ Linux/macOS `.pt` model portability** by fixing `pathlib` pickle issues, with a small docs update for **HEIC/HEIF** image support πŸ§©πŸ’ΎπŸ“Έ ## πŸ“Š Key Changes - πŸͺŸπŸ–₯️ **Cross-platform `.pt` loading fix (PR #23725 by @glenn-jocher):** - Updated `torch_safe_load()` to **remap `pathlib.WindowsPath` ↔ `pathlib.PosixPath`** during unpickling, preventing common load failures when models are created on one OS and loaLow2/24/2026
v8.4.15## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.15** improves real-world image ingestion (adds **HEIC/HEIF + HEIF** support with lazy decoding + better EXIF handling) and includes several quality fixes for metrics, exports, and docs πŸ–ΌοΈβš™οΈβœ… ## πŸ“Š Key Changes - **HEIC/HEIF image support (priority change)** πŸ–ΌοΈπŸ“± - Added `ultralytics.utils.patches.image_open` and **monkey-patched `PIL.Image.open`** to lazily enable HEIC/HEIF decoding via **`pi-heif` only when needed** (i.e., on first dLow2/24/2026
v8.4.14## 🌟 Summary (single-line synopsis) Ultralytics 8.4.14 adds **Ultralytics Platform β€œCancel training” support** so you can stop runs quickly *and still keep/upload partial results* β›”οΈπŸ“€ ## πŸ“Š Key Changes - **Platform-driven training cancellation (priority change)** πŸ›‘ - Detects cancellation **even before training starts** (during session registration) and prevents wasted startup time. - Checks for cancellation at **epoch end** via a send-and-check response flow, then sets `trainer.stop=TrLow2/10/2026
v8.4.13## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.13** makes training more resilient by **automatically recovering from CUDA out-of-memory (OOM) errors** during the first epoch by retrying with a smaller batch size πŸ”πŸ§ πŸ”₯ ## πŸ“Š Key Changes - **Auto-retry on CUDA OOM during training (major change)** πŸ”₯πŸ› οΈ - If a CUDA OOM happens in the **first epoch on single-GPU**, Ultralytics will retry up to **3 times**, **halving the batch size each time** (down to 1). - Training pipeline is reLow2/8/2026
v8.4.12## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.12** streamlines **YOLOE-26** class/text-prompt handling to avoid redundant updates, while improving multispectral (grayscale) training reliability and multi-GPU auto-selection 🧠⚑️πŸ–₯️ ## πŸ“Š Key Changes (major updates) - **YOLOE-26: Skip redundant `set_classes()` when prompts already match** 🧠⚑️ - Adds a guard in `ultralytics/models/yolo/model.py` to **avoid re-running `set_classes()`** if `model.names` already matches the requested `Low2/5/2026
v8.4.11## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.11** makes **Ultralytics Platform training uploads far more reliable** by adding **retryable model uploads + metrics posting**, plus a new reusable upload helper and docs πŸš€πŸ“Ά ## πŸ“Š Key Changes - **Robust Platform upload + metrics retries (PR #23538 by @glenn-jocher)** πŸ” - Added a new utility: `ultralytics/utils/uploads.py` with `safe_upload()` that supports **retries, timeouts, and optional progress bars** β³πŸ“¦ - Platform callback netLow2/3/2026
v8.4.10## 🌟 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.9` β†’ `8Low2/2/2026
v8.4.9## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.9** improves **segmentation CopyPaste augmentation reliability** (especially for **grayscale/hyperspectral-style single-channel inputs**) and strengthens the broader export/training ecosystem with better ExecuTorch + Torch support πŸš€πŸ§© ## πŸ“Š Key Changes - πŸ§ͺ **(Priority) Segmentation CopyPaste mask fix** in `ultralytics/data/augment.py`: - Builds the contour mask as a **2D (HΓ—W) array** instead of matching the full image tensor shape. Low1/29/2026
v8.4.8## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.8** makes **end-to-end (NMS-free) YOLO26/YOLOv10 inference actually honor `max_det` and `agnostic_nms`**, giving you predictable control over how many detections you get and how classes are handled βœ…πŸš€ ## πŸ“Š Key Changes - **End2end now supports `max_det` + `agnostic_nms` (PR #23396 by @Y-T-G)** πŸŽ›οΈ - Adds a safe `set_head_attr(**kwargs)` helper to set head/last-layer attributes like `end2end`, `max_det`, `agnostic_nms` 🧩 - When `eLow1/27/2026
v8.4.7## 🌟 Summary Ultralytics **v8.4.7** adds **AVIF training support** and a new **COCO12-Formats** mini-dataset to continuously verify that *all supported image types* load correctly end-to-end (especially in CI) πŸ§ͺπŸ–ΌοΈ ## πŸ“Š Key Changes - **AVIF is now a supported training image format** βœ…πŸ“· - `IMG_FORMATS` expanded to include **`avif`** - **More robust image decoding for modern formats** πŸ›‘οΈ - Adds a **Pillow-based fallback image reader** (`_imread_pil`) for cases where **OpenCV can’t deLow1/21/2026
v8.4.6## 🌟 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 `PosixPath` import to the generated temporary DDP training script (`ultralytics/utils/dist.py`). - Prevents `NameError: name 'PosixPath' is not dLow1/18/2026
v8.4.5## 🌟 Summary (single-line synopsis) Ultralytics **8.4.5** makes **2D pose `Results.summary()` safer and more compatible** by correctly handling keypoints **with or without visibility flags** πŸ§β€β™‚οΈβœ… ## πŸ“Š Key Changes - 🧩 **Pose Results summary now supports keypoints missing visibility**: `Results.summary()` checks `kpt.has_visible` and only outputs `"visible"` when it exists (otherwise returns just `"x"` and `"y"`), preventing crashes in mixed keypoint formats. - πŸ”– **Version bump**: `8.4.4` β†’Low1/17/2026
v8.4.4## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.4** refines **MuSGD training behavior** (better scaling for short vs. long runs) and includes several quality-of-life fixes for **exports, segmentation outputs, logging, and filesystem side effects** πŸš€πŸ§  ## πŸ“Š Key Changes - 🧠 **MuSGD optimizer scaling update (PR #23279 by @Laughing-q)** MuSGD scale factors are now chosen more appropriately based on total training iterations: - **> 10,000 iterations:** `(muon=0.1, sgd=1.0)` - **≀ Low1/16/2026
v8.4.3## 🌟 Summary (single-line synopsis) Ultralytics `v8.4.3` boosts **Ultralytics Platform NDJSON dataset downloads/conversion speed** πŸš€, improves **training metric correctness** 🧠, and refreshes defaults/docs around **YOLO26** πŸ“š. ## πŸ“Š Key Changes - πŸš€ **Faster NDJSON β†’ YOLO dataset conversion (Ultralytics Platform data) β€” PR #23257 by @glenn-jocher** - Lazy-loads `aiohttp` only when NDJSON conversion is used (faster startup, fewer unnecessary deps) πŸ“¦ - Simplifies async image download codLow1/15/2026
v8.4.2## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.2** mainly fixes **Ultralytics Platform (`ul://` / NDJSON) classification training** by converting datasets into the correct on-disk layout and validating them properly, plus a few quality-of-life and docs/CI tweaks πŸ› οΈβœ… ## πŸ“Š Key Changes - **(Most important) Platform Classification Training Fix (PR #23217, @glenn-jocher)** 🧩🏷️ - NDJSON conversion now detects `task == "classify"` and creates an **ImageNet-style folder layout**: `{splLow1/15/2026
v8.4.1## 🌟 Summary (single-line synopsis) Ultralytics **v8.4.1** brings back **NCNN export + inference on ARM64** (Apple Silicon/ARM servers/edge devices) πŸ“±βš™οΈ, plus stability fixes for pose/seg training πŸ› οΈ and a big docs/benchmarks cleanup πŸ“šβœ¨. ## πŸ“Š Key Changes - **βœ… NCNN on ARM64 is re-enabled** (current PR #23211 by @lakshanthad) πŸ“± - Removed ARM64 β€œhard stop” errors for: - **NCNN export** (`ultralytics/engine/exporter.py`) - **NCNN inference** (`ultralytics/nn/autobackend.py`) Low1/14/2026
v8.4.0## 🌟 Summary **Ultralytics YOLO26 has arrived.** Re-engineered from the ground up by @glenn-jocher, @Laughing-q, and the Ultralytics YOLO team, YOLO26 is purpose-built for edge and low-power environments. This release introduces a streamlined, **native end-to-end NMS-free architecture**, delivering faster, lighter, and more accessible deployment across all platforms. ![Ultralytics YOLO26 Comparison Plots](https://raw.githubusercontent.com/ultralytics/assets/refs/heads/main/yolo/performancLow1/14/2026
v8.3.253## 🌟 Summary (single-line synopsis) Ultralytics 8.3.253 adds **explicit Vulkan GPU device selection for NCNN inference** (plus safer PaddlePaddle/NCNN dependency handling) to improve cross-vendor GPU acceleration and reliability ⚑πŸ–₯οΈπŸ› οΈ ## πŸ“Š Key Changes - **NCNN + Vulkan device targeting (main feature) ⚑** - You can now pass a device string like `device="vulkan:0"` or `device="vulkan:1"` to **choose which Vulkan-capable GPU** NCNN uses (helpful on AMD/Intel/non-NVIDIA systems and multi-GPU Low1/13/2026
v8.3.252## 🌟 Summary v8.3.252 polishes Ultralytics console output by fixing a `tqdm` progress-bar issue that could print β€œ100% complete” twice βœ…πŸ“ˆ ## πŸ“Š Key Changes - 🧹 **Fix duplicated final progress-bar render (PR #23158)**: adds a safeguard in `ultralytics/utils/tqdm.py` to *skip* the final β€œcomplete” redraw if `100%` was already printed. - 🧠 **Export reliability improvement**: resets cached export input shape (`m.shape = None`) in `ultralytics/engine/exporter.py` to avoid stale shapes when exporLow1/10/2026
v8.3.251## 🌟 Summary (single-line synopsis) v8.3.251 improves training/integration reliability by initializing Trainer callbacks earlier (so Ultralytics HUB/Platform sees the original `data` input like `ul://...`) while also polishing profiling accuracy, tuning stability, and device/dataset/docs support πŸ§©πŸš€ ## πŸ“Š Key Changes - **Earlier Trainer callback initialization (PR #23155, @glenn-jocher)** 🧠 - `on_pretrain_routine_start` now runs **before** dataset resolution (`get_dataset()`), keeping thLow1/10/2026
v8.3.250## 🌟 Summary (single-line synopsis) Ultralytics v8.3.250 adds **out-of-the-box support for the TT100K traffic sign dataset** πŸš¦β€”plus smoother Ultralytics HUB dataset handling, better run directory behavior, and a few quality/build/docs fixes πŸ› οΈπŸ“š ## πŸ“Š Key Changes - **🚦 New TT100K dataset integration (PR #22892 by @PrashantDixit0)** - Adds `ultralytics/cfg/datasets/TT100K.yaml` with **221 classes** and full dataset metadata. - Includes an **auto download + conversion pipeline** that Low1/8/2026
v8.3.249## 🌟 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-arm64` based on NVIDIA’s PyTorch NGC image (`nvcr.io/nvidia/pytorch:25.10-py3`) - CI now builds & publishes **`ultralytics/ultralytics:latest-nvidia-arm64`** - Low1/7/2026
v8.3.248## 🌟 Summary (single-line synopsis) Ultralytics `v8.3.248` makes auto-installation more reliable by ensuring `uv pip install` installs into the *currently running Python environment* (plus a couple of small quality-of-life fixes) πŸ§°βœ… ## πŸ“Š Key Changes - **Auto-install now targets the active interpreter explicitly (PR #23118)** πŸ§ͺ🎯 - `check_requirements()` runs `uv pip install` with `--python {sys.executable}` so installs go to the right environment (venv/conda/system). - **Removed** theLow1/4/2026
v8.3.247## 🌟 Summary (single-line synopsis) Ray Tune + Weights & Biases (W&B) tuning runs now get **unique, trial-specific names** in Ultralytics 8.3.247, making hyperparameter sweeps much easier to track πŸ§ͺπŸ“Š ## πŸ“Š Key Changes - **(Priority / Current PR #23084)** Ray Tune trials logged to W&B no longer all show up as **`train`** 🏷️ - Saves the original run name before it gets removed from training args - Uses Ray Tune’s `trial_id` to append a unique suffix - Naming format: **`{base_name}Low1/3/2026
v8.3.246## 🌟 Summary (single-line synopsis) Ultralytics **v8.3.246** upgrades training reporting for **Ultralytics HUB** by uploading **rich, interactive plot data + class names** at the end of training, making results easier to explore and understand πŸ“ˆπŸ·οΈβœ¨ ## πŸ“Š Key Changes - **(Priority) Rich plot-data upload on train completion** πŸ§©πŸ“€ At `on_train_end()`, Ultralytics now **collects plots from both the trainer and validator** and sends them with the final `"training_complete"` event (e.g., **coLow1/2/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

gymnasiumA standard API for reinforcement learning and a diverse set of reference environments (formerly Gym).1.2.3
pytorch-lightningPyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate.2.6.1
sagemakerOpen source library for training and deploying models on Amazon SageMaker.3.8.0
transformersTransformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.5.5.4
ai-engineering-from-scratchLearn it. Build it. Ship it for others.0.0.0