π Summary (single-line synopsis)
Ultralytics v8.4.2 mainly fixes Ultralytics Platform (ul:// / NDJSON) classification training by converting datasets into the correct on-disk layout and validating them properly, plus a few quality-of-life and docs/CI tweaks π οΈβ
π Key Changes
- (Most important) Platform Classification Training Fix (PR #23217, @glenn-jocher) π§©π·οΈ
- NDJSON conversion now detects
task == "classify"and creates an ImageNet-style folder layout:{split}/{class_name}/...(instead ofimages/+labels/used for detection-style tasks). - Detection/segmentation/pose/OBB conversions remain unchanged (still producing
data.yaml,images/{split}/,labels/{split}/). - More robust downloads: creates parent directories before saving images pulled from URLs.
- Trainer update:
Trainer.get_dataset()now always resolvesul:///.ndjsoninto a local dataset first, then runs the correct dataset validation for the task.
- NDJSON conversion now detects
- Classification results:
Results.summary()now returns top-5 (PR #23215, @glenn-jocher) π§ π- For classification predictions,
summary()is intended to return top-5 classes + confidences instead of only top-1. - Note: the diff shows each top-5 entry being appended twice (likely an unintended duplication) β οΈ
- For classification predictions,
- Allow overriding
save_dirreliably (PR #23191, @Y-T-G) ππ§save_diris now treated as an allowed override/config key, so setting output directories via CLI/Python overrides is more consistent.
- CI/tests: re-enable NCNN export tests on ARM64 (PR #23214, @lakshanthad) π§ͺπ»
- Removes an ARM64 skip so NCNN export tests run on Apple Silicon/ARM servers (still guarded against PyTorch < 2.0 due to known instability).
- Docs and branding/link fixes (PR #23215) ππ
- Updates Kaggle model badge to YOLO11 (branding), fixes a billing link, and updates a cloud-training docs path.
π― Purpose & Impact
- Platform classification training is unblocked π
- If you train classification models from Ultralytics Platform datasets (
ul://...) or.ndjsonexports, this release prevents failures caused by the wrong dataset folder structure and ensures the trainer checks the right dataset type.
- If you train classification models from Ultralytics Platform datasets (
- More informative classification outputs π
- Top-5 summaries make it easier to evaluate βnear-missβ predictions and build UI/analytics around multiple candidates (watch for potential duplicated entries in
Results.summary()output in this specific tag) β οΈ
- Top-5 summaries make it easier to evaluate βnear-missβ predictions and build UI/analytics around multiple candidates (watch for potential duplicated entries in
- More predictable experiment output paths π§°
- Workflows that need custom output directories (sweeps, notebooks, CI pipelines) can now set
save_dirwithout it being ignored or flagged.
- Workflows that need custom output directories (sweeps, notebooks, CI pipelines) can now set
- Better ARM64 export coverage π§ͺ
- Potentially catches ARM-specific NCNN export regressions earlier, though it may also surface new CI failures if upstream NCNN issues persist.
β If youβre using Ultralytics Platform + classification, v8.4.2 is a βmust updateβ.
What's Changed
- Return Classify top5 in Results summary by @glenn-jocher in #23215
- Re-enable NCNN ARM64 exports in Tests CIs by @lakshanthad in #23214
- Exclude
save_dirfrom argument validation by @Y-T-G in #23191 ultralytics 8.4.2Fix Platform Classify training by @glenn-jocher in #23217
Full Changelog: v8.4.1...v8.4.2