π Summary
YOLO 8.3.204 sharpens training ergonomics, stabilizes exports, broadens device support, and refreshes docsβmaking multi-GPU projects, ONNX workflows, and edge deployments smoother than ever. π
π Key Changes
- π Trainer batch handling upgrade: The primary update from @Laughing-q moves multi-GPU batch checks out of
select_device()
and into the Trainer, requiring explicit batch sizes when using more than one GPU and delivering clearer error guidance. - π§ YOLOE segmentation workflow: New
YOLOESegTrainerFromScratch
, cleaner loss initialization, and shared preprocessing streamline from-scratch and fine-tune training paths. - π Export & device refinements: CUDA-aware ONNX opset selection (fewer runtime errors), TensorFlow/ONNX NMS guards, image-size propagation during export, plus safer
non_blocking
transfers on MPS. - π¦ Lean inference weights:
strip_optimizer()
now removes AMP scaler state, trimming checkpoint clutter. - π Streamlit edge support: RKNN/OpenVINO detection works reliably in the live inference app, benefiting Rockchip deployments.
- π Docs & metadata refresh: New YOLO26 preview page, updated YOLO11 FLOPs/parameters, clarified YAML guide, and accurate contributor credits.
π― Purpose & Impact
- β More predictable multi-GPU runs: Users must set a real batch size, preventing silent defaults and helping balance workloads across GPUs.
- π‘οΈ Stabler model exports: GPU ONNX exports throw fewer errors, NMS requirements are explicit, and exported engines now honor your chosen
imgsz
, reducing mismatches in production. - βοΈ Broader device compatibility: Adjusted tensor transfers eliminate MPS corruption, while RKNN support speeds up Rockchip deployments via Streamlit.
- π§ͺ Enhanced YOLOE training flexibility: Dedicated trainers and cleaned-up loss logic make experimenting with YOLOE segmentation (YOLO11-Seg, etc.) easier and more torch.compile-friendly.
- π Cleaner release assets: Stripped checkpoints load faster for inference without lingering AMP baggage.
- π Up-to-date guidance: YOLO26 sneak peek and refreshed YOLO11 metrics help teams plan upgrades with accurate performance data.
What's Changed
- Fix --slow CUDA tests by @glenn-jocher in #22193
- Verify passed dataset is a directory and not a file for classification training by @Y-T-G in #22192
- Expand PyTorch version text matrix by @glenn-jocher in #22152
- Fix
AttributeError
error for validation withvisualize
by @Y-T-G in #22194 - Fix
--slow
flag inci.yml
pip install command by @Laughing-q in #22196 - Remove
uv
version0.8.19
restraint by @Laughing-q in #22197 - Disable
non_blocking
device transfers for MPS to prevent output corruption by @Y-T-G in #22181 - Enable Python Fault Handler in CI by @Y-T-G in #22203
- Remove the compromise of criterion initialization for
torch.compile
by @Laughing-q in #22205 - YOLOE: Cleanup duplicate
preprocess_batch
by @Laughing-q in #22206 - Strip scaler from model checkpoints by @Y-T-G in #22207
- Docs: Add new page for YOLO26 by @Laughing-q in #22213
- Add
RKNN
model support in streamlitlive-inference
solution by @RizwanMunawar in #22212 - YOLOE: Use passed
imgsz
for visual prompt extraction by @Y-T-G in #22238 - Fix
RKNN
model support in streamlitlive-inference
solution by @lakshanthad in #22230 - Docs: Update YOLO11 profiling data in README by @lmycross in #22258
- Add Mengyu to mkdocs_github_authors.yaml by @glenn-jocher in #22263
- Fix Docs YAML guide missing docstrings by @glenn-jocher in #22264
ultralytics 8.3.204
Scopebatch_size
check fromselect_device()
to Trainer by @Laughing-q in #22254
New Contributors
Full Changelog: v8.3.203...v8.3.204