New Release: Ultralytics v8.4.17

:rocket: Ultralytics v8.4.17 is out!

Ultralytics v8.4.17 makes NDJSON dataset conversions resplit-friendly—reusing existing images, cleaning stale labels, and skipping unnecessary downloads so you can iterate on train/val/test splits much faster :recycling_symbol::package:

If you’re working with Ultralytics YOLO datasets (especially NDJSON workflows), this release is all about speed, correctness, and fewer “stale file” gotchas.


:glowing_star: Highlights

:recycling_symbol::broom: NDJSON dataset re-split support (priority change)

This update dramatically improves iteration when you change dataset splits:

  • Reuses previously downloaded images if the output dataset folder already exists :white_check_mark:
  • For non-classification tasks (detect/segment/pose), clears the existing labels/ directory before reconversion to prevent stale annotations :soap:
  • If an image is missing in the current split, it will move (rename) it from another split before attempting a URL download :delivery_truck:
  • Adds a content hash (ignoring signed/rotating URLs) stored in data.yaml to skip reconversion when nothing meaningful changed :receipt::locked:
  • Deletes orphaned images that are no longer part of the dataset after a resplit, reducing silent training noise :wastebasket:

:outbox_tray: Export & Deployment Improvements

:puzzle_piece::gear: More reliable EdgeTPU exports

  • Automatically disables end2end mode for EdgeTPU exports (and logs a warning), aligning behavior with other limited backends that don’t support required ops.

:package::white_check_mark: OpenVINO INT8 export dependency handling improved

  • Adds PyTorch 2.3 detection and adjusts nncf requirements to reduce install/export conflicts across Torch versions.

:toolbox: Quality-of-Life Fixes

:floppy_disk::magnifying_glass_tilted_right: Clearer disk space error messages

  • Fixes incorrect “GB” reporting and now shows MB for sizes under 1GB, making download/asset errors much easier to interpret.

:white_check_mark: What’s Changed (PRs)

Thanks to the contributors and reviewers making these releases better for everyone:


:up_arrow: How to Update

pip install -U ultralytics

:link: Release Notes

You can review the full release details in the official Ultralytics v8.4.17 GitHub release, or browse the full changelog comparing v8.4.16 → v8.4.17 inline as you read commits.


:speech_balloon: Feedback Wanted

If you’re using NDJSON conversions, EdgeTPU, or OpenVINO INT8 exports—please try v8.4.17 and share:

  • what improved,
  • what’s still rough,
  • and any edge cases you hit.

Your reports help us keep Ultralytics YOLO—and the wider YOLO community—moving fast :rocket: