🌟 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 acceptsdataas either a single dataset or a list.- During each tuning iteration, training runs across each dataset, then combines results.
- Fitness is averaged across datasets, so tuning decisions reflect overall performance, not just one dataset.
- Tests were updated to validate this workflow (
coco8.yaml+coco8-grayscale.yaml). - Version bumped to
8.4.34.
-
🛡️ Training resume stability fix (PR #24085 by @Y-T-G)
- Prevents loss spikes after resume on small datasets by keeping AdamW’s
exp_avg_sqstate in FP32. - Reduces risk of unstable training when loading checkpoints.
- Prevents loss spikes after resume on small datasets by keeping AdamW’s
-
🔒 Thread-safe ONNX export (PR #24092 by @glenn-jocher)
- Added export locking so concurrent threads cannot collide in PyTorch’s global ONNX exporter state.
- Includes a regression test for parallel export safety.
-
⚙️ Robustness fixes in core runtime
- DDP cleanup now safely handles command-generation failures (PR #24056 by @nameearly).
AAttnfixed for non-divisibledim/num_headscases to avoid shape/group crashes (PR #24114 by @ZoomZoneZero).crop_mask()now clamps negative coordinates before cropping for safer segmentation postprocessing (PR #24115 by @Y-T-G).draw_specific_kpts()now respects user-provided keypoint index order and handles missing confidence values safely (PR #24099 by @onuralpszr).
-
📚 Documentation and ecosystem refresh (many PRs)
- Large migration to YOLO26 references and fresh benchmarks across Jetson + SAM docs.
- Jetson setup improved with missing
cuDSSdependency instructions for Torch 2.10.0 (PR #24081 by @lakshanthad). - DeepStream version mapping/docs links corrected and expanded for newer JetPack versions (PRs #24141, #24142).
- Ultralytics Platform docs improved (Smart Annotation with SAM + YOLO, split redistribution UX, account settings clarity, banner/link updates).
🎯 Purpose & Impact
-
Better real-world tuning quality 🎯
Multi-dataset tuning helps teams optimize one model for mixed or varied data domains (for example, color + grayscale, or multiple data sources), improving generalization and reducing overfitting to a single dataset. -
More reliable training and export workflows ✅
Resume training is more stable, distributed cleanup is safer, and ONNX export is more dependable in threaded environments—especially useful in production pipelines. -
Improved deployment and edge guidance 📱
Updated YOLO26 Jetson benchmarks and setup docs make edge deployment decisions more current and practical. -
Cleaner user experience in docs and platform onboarding ✨
Better Smart Annotation and dataset split guidance can reduce setup friction and speed up annotation/training workflows on the Ultralytics Platform.
What's Changed
- Update NVIDIA Jetson AGX Orin benchmarks with YOLO26 by @lakshanthad in #24068
- update SAM docs with YOLO26 references and fresh benchmarks by @raimbekovm in #24071
- update SAM-2 docs with YOLO26 references and fresh benchmarks by @raimbekovm in #24072
- update SAM-3 docs with YOLO26 references and correct model sizes by @raimbekovm in #24045
- Add missing
cuDSSpackage to JetPack 6 installation guide by @lakshanthad in #24081 - Bump onnx from 1.20.0 to 1.21.0rc1 in /examples/RTDETR-ONNXRuntime-Python in the pip group across 1 directory by @dependabot[bot] in #24082
- Remove redundant ray tune test by @Laughing-q in #24088
- Docs: Redistribute Splits by @sergiuwaxmann in #24087
- Document YOLO models in platform smart annotation by @laodouya in #24037
- Docs: Update Banner by @sergiuwaxmann in #24090
- Docs: Fix Banner Link by @sergiuwaxmann in #24091
- Improve Platform Settings page tab docs and add screenshots by @yogendrasinghx in #24060
- Fix loss explosion on resume when training on small dataset by @Y-T-G in #24085
- Bump onnx from 1.21.0rc1 to 1.21.0 in /examples/RTDETR-ONNXRuntime-Python in the pip group across 1 directory by @dependabot[bot] in #24094
- Fix Sentry bugs 2026-04-01 by @glenn-jocher in #24092
- Prevent DDP resource cleanup issues when generate_ddp_command(self) r… by @nameearly in #24056
- Add https://youtu.be/Y7cfNkqSdMg to docs by @RizwanMunawar in #24098
- fix: 🐞
draw_specific_kptsto respect user-specified indices order by @onuralpszr in #24099 - docs: update synk badge with working one by @onuralpszr in #24101
- Update NVIDIA Jetson Orin NX 16GB benchmarks with YOLO26 by @lakshanthad in #24118
- Clamp coordinates in
crop_maskbefore cropping by @Y-T-G in #24115 - Fix AAttn: resolve shape mismatches and crashes when dim is not divisible by
num_headsby @ZoomZoneZero in #24114 - Update NVIDIA Jetson Orin Nano Super benchmarks with YOLO26 by @lakshanthad in #24097
- docs: update DeepStream 7.1 documentation link for JetPack 6.1 by @onuralpszr in #24141
- docs: update DeepStream installation instructions for JetPack 7.1 to include DeepStream 9.0 by @onuralpszr in #24142
ultralytics 8.4.34Multi-dataset support for hyperparameter tuning by @Laughing-q in #24067
New Contributors
- @yogendrasinghx made their first contribution in #24060
- @ZoomZoneZero made their first contribution in #24114
- @nameearly made their first contribution in #24056
- @laodouya made their first contribution in #24037
Full Changelog: v8.4.33...v8.4.34