# ultralytics v8.4.134 — v8.4.134 - Reduce TaskAlignedAssigner OOM recovery cost (#25990) - Product: ultralytics (https://whatsnew.fyi/product/ultralytics) - Vendor: ultralytics - Date: 2026-08-29 - Version: v8.4.134 - Original notes: https://github.com/ultralytics/ultralytics/releases/tag/v8.4.134 - Permalink: https://whatsnew.fyi/product/ultralytics/releases/v8.4.134 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** — TaskAlignedAssigner now retries target assignment one image at a time on GPU instead of moving the entire operation to CPU when GPU memory runs out - **changed** — Remove unused trailing ground-truth padding before retrying target assignment to lower memory usage - **changed** — Preallocate retry outputs and reuse dense metric buffers during target assignment - **changed** — Keep candidate masks in compact integer format to reduce memory usage - **changed** — Compute box metrics only for valid anchor/ground-truth pairs instead of all pairs - **changed** — Use more memory-efficient in-place operations during target assignment where possible - **changed** — Streamline point-in-box checks and overlapping ground-truth resolution - **changed** — Hyperparameter tuning default increased from 10 trials to 300 trials for built-in tuner, direct Tuner usage, and Ray Tune ##### 🌟 Summary **v8.4.134 makes crowded-object training more resilient to GPU memory limits and increases the default hyperparameter search budget from 10 to 300 trials.** 🚀 ##### 📊 Key Changes - **Faster TaskAlignedAssigner OOM recovery** 🧠 - When GPU memory runs out during target assignment, Ultralytics now retries the work **one image at a time on the GPU** instead of moving the entire operation to the CPU. - The model’s forward-pass batch size remains unchanged. - A warning is shown only once per training run and reports the assignment dimensions. - **Lower memory usage during target assignment** 💾 - Removes unused trailing ground-truth padding before retrying. - Preallocates retry outputs and reuses dense metric buffers. - Keeps candidate masks in a compact integer format. - Computes box metrics only for valid anchor/ground-truth pairs. - Uses more memory-efficient in-place operations where possible. - **Improved geometric and assignment processing** ⚙️ - Streamlines point-in-box checks and overlapping-ground-truth resolution. - Preserves compatible output behavior while reducing temporary tensor allocations. - **Hyperparameter tuning now defaults to 300 trials** 🔍 - The built-in tuner, direct `Tuner` usage, and Ray Tune all now use **300 trials by default**, up from 10. - Documentation has been updated to reflect the shared default. - **Version update** 📦 - Package version updated to `8.4.134`. ##### 🎯 Purpose & Impact - **Much better recovery from GPU out-of-memory errors** ✅ Large or highly crowded batches can continue training without falling back to a very slow full-CPU assignment. In the reported xView benchmark, optimized single-image GPU assignment used about **1.56 GB** of peak memory and completed in **0.376 seconds**, compared with **194.86 seconds** and **85.62 GB** for the previous GPU-to-CPU fallback. - **More practical training on dense datasets** 🏙️ The changes are particularly valuable for aerial imagery, crowd analysis, and other datasets containing many objects per image. - **No need to reduce the model’s forward batch size after recovery** 📈 The fallback is isolated to target assignment, helping retain the intended training configuration while handling temporary memory pressure. - **More effective automatic hyperparameter tuning** 🎯 A 300-trial default gives the tuner substantially more opportunities to explore configurations and find stronger settings, especially for the broad YOLO26 search space. - **Higher tuning cost unless overridden** ⏱️ Users who rely on defaults should expect tuning jobs to run considerably longer and consume more compute. Smaller runs can still be requested explicitly when time or budget is limited. ##### What's Changed * Default hyperparameter tuning to 300 trials by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25987 * Reduce TaskAlignedAssigner OOM recovery cost by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25990 **Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.4.133...v8.4.134