π Summary
Train YOLO11 models directly from NDJSON datasets with one command β including automatic conversion and image downloading β plus improved YOLOE docs/examples and more reliable GPU CI on GitHub. π
π Key Changes
- NDJSON training support (priority)
- Built-in NDJSONβYOLO11 converter:
convert_ndjson_to_yolo(ndjson_path, output_path=None)
by @glenn-jocher - Trainer integration: pass an
.ndjson
file tomodel.train(data=...)
and it auto-converts and generatesdata.yaml
β - Fast, resumable downloads: fetches images from URLs with async parallel workers and progress bar β‘
- Rich annotation support: handles detection boxes, segments, pose, OBB, and classification; writes the first available type found π§°
- Docs updated with NDJSON format examples and advantages
- Built-in NDJSONβYOLO11 converter:
- YOLOE improvements
- Corrected pretrained checkpoints and a clearer prompt-free validation example with
single_cls=True
, plus quieter device selection logs by @ShuaiLYU π
- Corrected pretrained checkpoints and a clearer prompt-free validation example with
- CI upgrades
- Enabled GPU CI on T4 runners, switched to pip for reliability, conditional installs for heavy deps, and adjusted ONNX/TensorRT tests for stability π§
Minimal examples:
- Python:
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)
- CLI:
yolo detect train data=path/to/dataset.ndjson model=yolo11n.pt epochs=100 imgsz=640
π― Purpose & Impact
- Simpler data onboarding: Use a single NDJSON file (with remote URLs) to kick off training β no manual conversion required. π§©
- Faster, scalable pipelines: Async, parallel downloads and streaming-friendly NDJSON make large datasets more manageable. π
- Broader task coverage: Works across detection, segmentation, pose, OBB, and classification in a unified flow. π·οΈ
- Fewer mistakes: Updated YOLOE examples ensure correct weights and cleaner validation outputs, reducing user friction. β
- More reliable CI: GPU tests run on GitHub with better dependency handling, improving confidence in CUDA/ONNX/TensorRT paths. π§ͺ
See the Ultralytics Docs for details.
What's Changed
- Fix YOLOE prompt-free validation example in docs by @ShuaiLYU in #21745
- Enable GitHub GPU runner CI by @glenn-jocher in #21682
ultralytics 8.3.183
New NDJSON dataset format support by @glenn-jocher in #21747
New Contributors
Full Changelog: v8.3.182...v8.3.183