Ultralytics YOLO
Description
🌟 Summary
Ultralytics v8.4.42 focuses on more reliable training under GPU memory pressure 🧠💪, plus several stability, security, export, and documentation improvements that make YOLO workflows smoother for both developers and end users.
📊 Key Changes
Top priority (current PR #24360 by @glenn-jocher): Better OOM recovery during training 🚀
- When CUDA runs out of memory in early training, temporary tensors (
batch,loss,preds) and trainer loss state are now explicitly cleared before retry. - Existing auto-batch retry behavior is preserved (no workflow changes for users).
- When CUDA runs out of memory in early training, temporary tensors (
Security hardening in downloads and path handling 🔐
- Safer archive extraction now blocks unsafe zip/tar paths and risky members.
- Safer URL/URI-derived file handling to prevent unsafe path traversal patterns.
- Replaced unsafe parsing behavior in CUDA test logic and improved related safeguards.
Export pipeline refactor + reliability fixes 📦
- Export dependency setup moved from central exporter into per-format modules (cleaner architecture, easier maintenance).
- CoreML export now skips unnecessary proxy model loading to avoid export crashes on some Apple Silicon setups.
- Added a new guide for exporting non-YOLO PyTorch models (timm/torchvision/custom) to multiple targets.
Backend usability improvement ✨
- Backends can now be called directly like
model(x)instead of onlymodel.forward(x).
- Backends can now be called directly like
Bug fixes affecting real workflows 🛠️
- Fixed dataset/image loading when folder names contain square brackets (e.g.
./[data]/). - Fixed hyperparameter tuning checkpoint copying for multi-dataset runs.
- Fixed
plot_results()crash path when CSV plotting fails. - Added safety check for YOLOE head fusion when
one2manybranches are absent.
- Fixed dataset/image loading when folder names contain square brackets (e.g.
Platform and docs improvements 📚
- Platform API docs now clearly document segmentation label payloads using
segments(notpolygon). - Jetson guide adds practical memory optimization tips (headless mode, service trimming,
show=False, profiling). - Updated Axelera integration to stable SDK
1.6.0. - Broader docs cleanup: onboarding/order fixes, activity feed path fixes, updated tutorial videos, annotation links, and removed outdated API endpoints.
- Platform API docs now clearly document segmentation label payloads using
🎯 Purpose & Impact
Fewer failed training runs on limited VRAM 🎯
The mainv8.4.42change helps training recover more reliably from first-epoch OOM events, reducing frustrating restarts.Safer defaults for file and dataset handling 🛡️
Security-focused path and extraction checks reduce risk when working with external files and archives.More dependable exports across formats 🌍
Export refactors and CoreML fixes improve cross-platform conversion stability, especially for deployment-heavy teams.Better developer ergonomics 👩💻
Callable backends, cleaner export internals, and bug fixes in tuning/plotting/path-loading improve everyday productivity.Clearer onboarding and learning resources for all users 🙌
Improved docs (including Ultralytics Platform guidance and Jetson memory tips) make setup and adoption easier for newcomers while still useful for advanced users.
What's Changed
- Add https://youtu.be/m-Lc5MXbydg to docs by @RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/24294
- Document Platform segment label payloads by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/24296
- Update Axelera SDK to 1.6.0 with YOLO classifier fix by @tamrobb in https://github.com/ultralytics/ultralytics/pull/24278
- docs: 📝 Add memory optimization tips for NVIDIA Jetson devices by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/24299
- Bump slackapi/slack-github-action from v3.0.1 to v3.0.2 in /.github/workflows by @UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/24309
- Add guide for exporting non-YOLO PyTorch models by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/24277
- Add https://youtu.be/hsimB10D6Y0 & https://youtu.be/BpSuXSUzEYY to docs by @RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/24308
- fix(coreml): skip proxy load during export by @amanharshx in https://github.com/ultralytics/ultralytics/pull/24312
- Remove drifting GPU heuristic table from platform quickstart by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/24303
- Added banner to licensing section by @matt-ultralytics in https://github.com/ultralytics/ultralytics/pull/24295
- Correct activity feed access paths on platform by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/24288
- Correct platform onboarding step order and final step by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/24289
- Remove ghost API endpoints from platform docs by @mykolaxboiko in https://github.com/ultralytics/ultralytics/pull/24111
- Fix missing weights copy in hyperparameter tuning iterations by @Laughing-q in https://github.com/ultralytics/ultralytics/pull/24196
- Bump conda-incubator/setup-miniconda from 3 to 4 in /.github/workflows by @dependabot[bot] in https://github.com/ultralytics/ultralytics/pull/24319
- Add
__call__wrapper forBaseBackend.forwardmethod by @Laughing-q in https://github.com/ultralytics/ultralytics/pull/24311 - Set conda workflow permissions by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/24317
- add ultralytics.com/annotate link to docs pages by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/24340
- Remove redundant .keys() call in dict membership test by @tempoo04 in https://github.com/ultralytics/ultralytics/pull/24339
- Fix Snyk code security findings by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/24342
- Fix undefined
axvariable inplot_resultsby @Y-T-G in https://github.com/ultralytics/ultralytics/pull/24345 - Fix lychee install workflow by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/24347
- Fix:
FileNotFoundErrorwhen loading datasets from paths containing square brackets by @prashansapkota in https://github.com/ultralytics/ultralytics/pull/24353 - YOLOE: check
one2manyhead exists while fusing prompt embeddings by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/24359 - Refactor: move export package requirements from
exporter.pyinto per-format utility modules by @lakshanthad in https://github.com/ultralytics/ultralytics/pull/24245 ultralytics 8.4.42Free tensors before OOM batch retry by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/24360
New Contributors
- @prashansapkota made their first contribution in https://github.com/ultralytics/ultralytics/pull/24353
- @tempoo04 made their first contribution in https://github.com/ultralytics/ultralytics/pull/24339
- @tamrobb made their first contribution in https://github.com/ultralytics/ultralytics/pull/24278
Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.41...v8.4.42
Notes
Files
ultralytics/ultralytics-v8.4.42.zip
Files
(3.0 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:1d6aa4f0dad9e6ba8e72afe5aa07607e
|
3.0 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/ultralytics/ultralytics/tree/v8.4.42 (URL)
Software
- Repository URL
- https://github.com/ultralytics/ultralytics