Ultralytics v8.4.2 is out!
TL;DR: Ultralytics v8.4.2 unblocks Ultralytics Platform (ul:// / NDJSON) classification training by converting datasets into the correct on-disk layout + validating properly, with a few helpful QoL and CI/docs updates ![]()
![]()
If you train classification from Ultralytics Platform datasets or .ndjson exports, this is a must update ![]()
New Features / Key Changes

Platform Classification Training Fix (most important)
PR: Fix Platform Classify training (ultralytics 8.4.2) by @glenn-jocher
What changed:
- NDJSON conversion now detects
task == "classify"and creates an ImageNet-style layout:{split}/{class_name}/...
- Detection/segmentation/pose/OBB conversions are unchanged (still using
data.yaml,images/{split}/,labels/{split}/) - Downloads are more robust: parent directories are created before saving images pulled from URLs
- Trainer improvement:
Trainer.get_dataset()now always resolvesul:///.ndjsoninto a local dataset first, then runs the correct dataset validation for the task
Why it matters:
- Prevents failures caused by the wrong folder structure when training classification from Platform datasets
- Ensures the trainer validates the dataset in a task-correct way

Improvements
Classification results: Results.summary() now returns top-5
PR: Return Classify top5 in Results summary by @glenn-jocher
Results.summary()for classification is intended to return top-5 classes + confidences, not just top-1- Note: the diff suggests each top-5 entry may be appended twice (likely unintended)

If you spot duplicates insummary()output, please reply with a minimal repro.

Allow overriding save_dir reliably
PR: Exclude save_dir from argument validation by @Y-T-G
save_diris now treated as an allowed override/config key- Makes output directory overrides more consistent across CLI/Python workflows (notebooks, sweeps, CI, etc.)

CI / Testing Updates
Re-enable NCNN export tests on ARM64
PR: Re-enable NCNN ARM64 exports in Tests CIs by @lakshanthad
- Removes an ARM64 skip so NCNN export tests run on Apple Silicon/ARM CI
- Still guarded against PyTorch < 2.0 due to known instability

Docs / Branding Touch-ups
Included in PR: Return Classify top5 in Results summary by @glenn-jocher
- Updates Kaggle model badge to YOLO11 (branding)
- Fixes a billing link + updates a cloud-training docs path
How to Update
pip install -U ultralytics
Quick sanity check (classification example):
from ultralytics import YOLO
model = YOLO("yolo26n-cls.pt") # YOLO26 recommended for new projects
results = model.predict("image.jpg")
print(results[0].summary())
Release Links
You can review the full release details in the v8.4.2 GitHub release, and browse the complete diff in the v8.4.1 โ v8.4.2 changelog comparison.
Feedback Wanted
If youโre training classification via Ultralytics Platform ul:// datasets or .ndjson exports, let us know:
- Did this resolve your training issues?
- Are you seeing duplicated entries in
Results.summary()top-5 output? - Any edge cases with class naming / splits / mixed datasets?
Thanks for helping improve YOLO for everyoneโcommunity reports and PRs are what keep things moving fast ![]()