# ultralytics v8.4.129 — v8.4.129 - Delegate multi-dataset tuning to MultiTrainer (#25937) - Product: ultralytics (https://whatsnew.fyi/product/ultralytics) - Vendor: ultralytics - Date: 2026-08-25 - Version: v8.4.129 - Original notes: https://github.com/ultralytics/ultralytics/releases/tag/v8.4.129 - Permalink: https://whatsnew.fyi/product/ultralytics/releases/v8.4.129 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Multi-dataset tuning is now managed by MultiTrainer, removing duplicated dataset orchestration from the tuner and running each dataset training job in an isolated YOLO CLI subprocess - **added** — BF16 mixed-precision training support with amp parameter accepting True, False, fp16, bf16, and fp32 - **changed** — Improved YOLO26 LiteRT exports for GPU delegates by reworking detection-head indexing and gathering to use operations better supported by GPU accelerators - **changed** — Parallelized large batch image decoding and FastSAM CLIP crop preprocessing for improved preprocessing speed - **changed** — ONNX CPU benchmarking now uses the shared ONNXBackend with configurable session options and multi-input model support - **added** — Added imread_unicode for image paths containing non-ASCII characters on Windows - **changed** — Progress-bar redraws are now transmitted as live state rather than ordinary log lines for more reliable progress reporting to the Ultralytics Platform - **changed** — TensorRT tests now validate exported engines on task-specific datasets - **changed** — Detection postprocessing is now shared across Detect, Segment, Pose, OBB, and related heads - **changed** — Disk cleanup is skipped for JetPack Docker builds to retain sufficient runner swap space for native Jetson builds ##### 🌟 Summary **v8.4.129** improves multi-dataset hyperparameter tuning, training precision, model export acceleration, data loading, and platform reliability—without introducing a new model architecture. 🚀 ##### 📊 Key Changes - **Multi-dataset tuning is now managed by `MultiTrainer`** *(PR #25937, @glenn-jocher)*: - Removes duplicated dataset orchestration from the tuner. - Runs each dataset training job in an isolated YOLO CLI subprocess. - Preserves YOLOWorld and YOLOE checkpoint filename handling. - Records individual dataset metrics, macro-mean metrics, and cleanup paths. - Improves distributed MongoDB tuning by safely assigning defaults and identifying winning runs by their result paths instead of worker-local indexes. - Validated with single-dataset and five-dataset MongoDB tuning runs. ✅ - **Added BF16 mixed-precision training** *(PR #25931, @artest08)*: - `amp` now accepts `True`, `False`, `"fp16"`, `"bf16"`, and `"fp32"`. - BF16 uses less memory than FP32 while offering greater numerical range than FP16. - Gradient scaling is correctly disabled for BF16. - Supported CUDA hardware is required for native BF16 training. - **Improved YOLO26 LiteRT exports for GPU delegates** *(PR #25914, @Y-T-G)*: - Reworked detection-head indexing and gathering to use operations better supported by GPU accelerators. - Helps keep more of the end-to-end, NMS-free detection head on the GPU instead of falling back to the CPU. - Also centralizes export-specific behavior outside the main detection head implementation. - **Faster image and FastSAM preprocessing** *(PRs #25935 and #25938, @JESUSROYETH)*: - Large batches of regular images can now be decoded in parallel while preserving input order. - FastSAM CLIP crop preprocessing is parallelized for sufficiently large CUDA workloads. - Small batches, unsupported image formats, CPU, and MPS paths retain the safer serial behavior. - **More consistent ONNX CPU benchmarking** *(PR #23924, @Laughing-q)*: - ONNX profiling now uses the shared `ONNXBackend`. - Adds configurable ONNX Runtime session options and multi-input model support. - Benchmarks now follow the same backend execution path used during inference. - **Stronger export and validation coverage**: - TensorRT tests now validate exported engines on task-specific datasets, not only through inference. - CoreML and LiteRT export helpers are documented in the API reference. - Detection postprocessing is shared across Detect, Segment, Pose, OBB, and related heads. - **Improved Windows image compatibility** *(PR #21070, @Laughing-q)*: - Added `imread_unicode` for image paths containing non-ASCII characters. - Preserves native OpenCV grayscale behavior and simplifies semantic-mask handling. - **More reliable progress reporting for Ultralytics Platform** *(PR #25905, @Y-T-G)*: - Progress-bar redraws are now transmitted as live state rather than ordinary log lines. - Reduces duplicated or cluttered logs and gives consumers a cleaner progress contract. - **Documentation and training guidance corrections**: - Clarifies YOLO26’s DFL-free `l1_loss`, pretrained-weight behavior, AutoBatch rules, AMP behavior, freezing, fine-tuning, K-Fold workflows, model YAML construction, and tuning output paths. - Adds guidance for class-name-based head weight remapping during fine-tuning. - Documents BF16 settings and supported distillation task limitations. - **Build reliability improvements for Jetson** *(PR #25930, @glenn-jocher)*: - Disk cleanup is skipped for JetPack Docker builds so native Jetson builds retain sufficient runner swap space. ##### 🎯 Purpose & Impact - **More dependable distributed tuning:** Multi-dataset experiments are now simpler to maintain, better isolated, and easier to analyze because results and output paths are tracked per dataset. MongoDB workers are also less likely to race when initializing defaults. 📈 - **More training options:** Users with compatible CUDA _[Truncated at 4000 characters — full notes: https://github.com/ultralytics/ultralytics/releases/tag/v8.4.129]_