🌟 Summary
Ultralytics v8.4.88 focuses on more reliable training for tiny datasets, stable NCNN export, and clearer documentation for model training concepts. 🚀
📊 Key Changes
-
Tiny dataset dataloader fix by @glenn-jocher 🧠
- Dataloader worker processes are now capped based on the actual number of final batches.
- Single-batch training loaders now run in-process instead of spawning extra persistent workers.
- Empty dataset handling now correctly relies on PyTorch DataLoader validation instead of triggering internal worker-count errors.
- Added regression tests for tiny loaders, distributed sampling with
drop_last, and empty dataset behavior.
-
Improved NCNN export stability by @glenn-jocher 🛠️
- PNNX is pinned to
20260526for NCNN export and CI checks. - This avoids a known newer PNNX regression that could cause NCNN inference crashes.
- NCNN remains paired with the latest available
ncnnwheel.
- PNNX is pinned to
-
Clearer training documentation for
dflby @fcakyon 📚- The
dfltraining argument description now correctly explains Distribution Focal Loss as a bounding box localization term, not a classification feature. - This helps users better understand how YOLO models learn accurate box positions.
- The
-
Knowledge distillation guide visual update by @RizwanMunawar 🖼️
- Added a new workflow image to the knowledge distillation documentation.
- The image helps explain the teacher-student model training concept more intuitively.
-
Version bump 📦
- Package version updated from
8.4.87to8.4.88.
- Package version updated from
🎯 Purpose & Impact
-
Better experience for small experiments and quick tests ⚡
Users training on very small datasets should see fewer unnecessary background worker processes, lower overhead, and fewer cases where stuck workers keep CUDA resources busy. -
More robust distributed and edge-case training behavior ✅
The dataloader update preserves existingdrop_lastbehavior while improving worker handling after sampler construction, making training safer across normal, tiny, and distributed dataset setups. -
More dependable NCNN deployment workflows 📱
Pinning PNNX improves reliability for users exporting YOLO models, including YOLO26 models, to NCNN for lightweight or edge-device inference. -
Clearer learning resources for all users 🌐
Documentation updates make advanced concepts like knowledge distillation and Distribution Focal Loss easier to understand for both new users and experienced developers.
What's Changed
- Add cover image for
knowledge-distillation.mdby @RizwanMunawar in #25026 - Pin PNNX for NCNN export stability by @glenn-jocher in #25028
- Clarify DFL argument describes box localization not classification by @fcakyon in #25029
- Cap dataloader workers for tiny datasets by @glenn-jocher in #25031
Full Changelog: v8.4.87...v8.4.88