🌟 Summary (single-line synopsis)
Ultralytics v8.4.45 is a hotfix release that primarily restores correct pretrained training behavior for .pt models (like YOLO26 checkpoints), plus important TensorRT/Jetson export reliability improvements and clearer docs. 🚀
📊 Key Changes
-
🔥 Critical training hotfix (PR #24378 by @glenn-jocher):
- Restored default behavior so
YOLO("*.pt").train()and CLI training correctly start from pretrained checkpoint weights. pretrained=Falsenow only disables weight loading when explicitly set.- Custom pretrained weight paths are preserved.
- Classification scratch-training reset behavior was restored.
- Version bumped to 8.4.45.
- Restored default behavior so
-
⚙️ TensorRT compatibility hardening:
- Blocked problematic TensorRT 10.2.0 (replacing older 10.1.0 exclusion) to avoid known runtime/export issues.
- Unified TensorRT dependency checks using shared
check_tensorrt()for more consistent setup.
-
🤖 Jetson / INT8 export improvements (PR #24368):
- JetPack 6 Docker image now upgrades TensorRT from 10.3 to 10.7 to fix INT8 + end2end build issues.
- Automatic end2end disable is now scoped to the specific problematic case: JetPack 6 + TensorRT 10.3.0 + INT8.
- Added clearer warning messaging and troubleshooting docs.
-
📦 Export argument support expanded:
- Added
dataas a valid argument for more export formats (including TensorRT, OpenVINO, CoreML, TFLite, TF.js, MNN, IMX), improving dataset-aware INT8/export workflows.
- Added
-
📚 Documentation updates:
- Hyperparameter tuning guide updated to match actual tuner behavior and output formats.
- New Ultralytics Platform dataset Clustering docs added (interactive 2D exploration for clusters, outliers, duplicates).
🎯 Purpose & Impact
- ✅ Biggest user impact: fixes a regression where training from
.ptcheckpoints could silently skip pretrained weights, which could reduce accuracy and waste training time. - 🧠 More predictable training behavior: defaults now work as users expect, while still allowing explicit scratch training via
pretrained=False. - 🛡️ Fewer deployment pitfalls: better TensorRT version guardrails reduce hard-to-debug export/runtime errors.
- 🚀 Better Jetson experience: INT8 export is more reliable on JetPack 6, with a clear upgrade path for full end2end behavior.
- 🧰 Cleaner export workflows: broader
dataargument support reduces validation friction across backends. - 📖 Lower confusion: docs now better reflect real behavior, helping both new and advanced users work faster.
What's Changed
- Exclude
tensorrt==10.2.0to fixlibnvinfer_builder_resource_win.so.10.2.0error by @lakshanthad in #24367 - Auto-update
tensorrtfrom10.3to10.7on JetPack 6 systems to fix YOLO26 int8 build issues by @lakshanthad in #24368 - Update hyperparameter tuning guide to match current tuner behaviour by @raimbekovm in #24372
- Add
dataargument to valid args for INT8 export formats by @lakshanthad in #24362 - Docs: Datasets Clustering by @sergiuwaxmann in #24376
ultralytics 8.4.44Applypretrainedarg across model trainers by @glenn-jocher in #24374ultralytics 8.4.45Fix pretrained checkpoint training regression by @glenn-jocher in #24378
Full Changelog: v8.4.43...v8.4.45