🌟 Summary
Ultralytics 8.4.198 makes training settings and YAML files more reliable, alongside fixes to downloads, dataset errors, and documentation. No model architecture or pretrained-weight changes are included.
📊 Key Changes
- NumPy learning rates now save correctly in YAML — The main change converts
np.float64values to ordinary numeric values when writing YAML. Training arguments such as sweep-generated learning rates can now be saved and reused fromargs.yaml. - More robust YAML parsing — Fixes handling of block-scalar indentation, whitespace-only lines, and nodes written on their own lines, bringing the built-in parser closer to YAML conventions.
- Improved download and dataset errors — Downloads now identify themselves with an Ultralytics User-Agent, helping avoid some servers rejecting requests. Missing classification datasets now produce a clear file-not-found error instead of a confusing failed-download message.
- More dependable training and logging — Updates the minimum supported versions of
ultralytics-thopandultralytics-platform; also suppresses a Triton warning that could appear during profiling. - Clearer documentation — Explains how relative
projectpaths are resolved and standardizes how metrics such as mAP and depth accuracy are written across docs and benchmark tables.
🎯 Purpose & Impact
- 🔁 Reuse training configurations more easily: NumPy-based hyperparameter sweeps no longer produce YAML values that reload as strings and fail validation.
- 🧰 Fewer confusing failures: YAML parsing, downloads, and missing-dataset handling are more predictable.
- 📚 Easier to follow guidance and compare results: Consistent metric labels and clarified path behavior reduce ambiguity.
- ✅ No model migration needed: These updates improve tooling and documentation rather than changing model behavior.
What's Changed
- Document that a relative
projectgoes underruns_dir/<task>by @Echoslayer in #26985 - Fix block scalar indentation, space-only lines and own-line node indents in the YAML parser by @cainiao33 in #26987
- Remove UTF-8 BOM handling by @glenn-jocher in #26988
- Silence Triton 3.9 FP fusion default warning from torch 2.15 eager bmm by @glenn-jocher in #26989
- Write every metric with explicit sub/superscripts: mAP50-95, δ1, mAPval50-95 by @glenn-jocher in #26990
- Require ultralytics-thop>=2.2.4 and ultralytics-platform>=0.1.102 by @glenn-jocher in #26991
- Send a descriptive User-Agent on downloads and report missing classify data clearly by @glenn-jocher in #26992
ultralytics 8.4.198Save NumPy float64 values as numbers in YAML files by @Nikhi00718 in #26993
Full Changelog: v8.4.197...v8.4.198