pypi ultralytics 8.4.43
v8.4.43 - `ultralytics 8.4.43` Fix NDJSON dataset validation (#24365)

9 hours ago

🌟 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() in ultralytics.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.
  • 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. 🧹

🎯 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 .ndjson or ul://... 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

Full Changelog: v8.4.42...v8.4.43

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.