π Summary
Ultralytics v8.4.43 mainly improves dataset reliability by fixing how NDJSON and Ultralytics Platform (ul://.../datasets/...) datasets are resolved during validation, not just training β
π
π Key Changes
-
Major fix (PR #24365 by @glenn-jocher): unified NDJSON/Platform dataset handling
- Added a shared resolver:
convert_ndjson_to_yolo_if_needed()inultralytics.data.utils. - Replaced trainerβs previous inline, train-only conversion with this shared function.
- Applied the same conversion path in the validator so standalone validation now also resolves NDJSON and
ul://datasets correctly. - Added distributed-safe handling in validation flow to avoid race issues in multi-GPU/distributed runs. π§©βοΈ
- Patch version bumped from
8.4.42β8.4.43.
- Added a shared resolver:
-
Docs update
- New utility function is now documented in the data utils reference. π
-
Minor cleanup (PR #24351 by @ahmet-f-gumustas)
- Replaced redundant
for ... in dict.keys()loops with direct dict iteration across several files. - No functional behavior change; this is a small code-quality/performance polish. π§Ή
- Replaced redundant
π― Purpose & Impact
-
More consistent dataset behavior across train + val
Users working with NDJSON or Ultralytics Platform datasets now get the same automatic conversion behavior in both stages, reducing surprises. β -
Fewer validation-time failures
The key practical improvement is preventing validation setup issues when data is provided as.ndjsonorul://...URIs. This makes workflows more robust, especially when running validation independently. π‘οΈ -
Better stability in distributed environments
The conversion step is now coordinated for multi-process runs, helping avoid duplicate or conflicting setup work. π₯οΈπ₯οΈ -
Low upgrade risk
Aside from the dataset-resolution fix, the rest is mostly internal cleanup with no intended user-facing behavior changes. π
What's Changed
- Remove redundant
.keys()calls in dict iteration by @ahmet-f-gumustas in #24351 ultralytics 8.4.43Fix NDJSON dataset validation by @glenn-jocher in #24365
Full Changelog: v8.4.42...v8.4.43