pypi ultralytics 8.3.200
v8.3.200 - `ultralytics 8.3.200` Refactor Sony IMX exports to `imx.py` (#22005)

12 hours ago

🌟 Summary

A focused export refactor that adds a complete Sony IMX500 pipeline, cleans up IMX-specific logic in model heads, and introduces clearer export APIsβ€”plus stability fixes for ONNX (OBB), TensorRT exports, and smoother multi-GPU training. πŸš€

πŸ“Š Key Changes

  • Export refactor and new IMX pipeline (PR #22005) ✨

    • New, clearer export APIs:
      • export_onnx β†’ torch2onnx
      • export_engine β†’ onnx2engine
    • New Sony IMX export:
      • torch2imx utility with quantization and IMX-friendly NMS wrapping
      • IMX-specific helpers (FXModel, Detect/Pose overrides, NMSWrapper)
    • Export utilities reorganized to ultralytics/utils/export/ with imx.py
    • Detect/Pose heads simplified by removing IMX-only branches
    • Removed FXModel from torch_utils
    • Docs updated to reflect the new structure
  • IMX support clarity (PR #22082) 🧭

    • Error messages now explicitly state IMX exports support YOLOv8n and YOLO11n (detection only in benchmarks).
  • ONNX + OBB reliability (PR #22079) 🧩

    • Fixes a RuntimeError for OBB models exported with NMS on CUDA by safeguarding empty-mask cases.
  • TensorRT export stability (PR #22080) βš™οΈ

    • Corrects dynamic shape handling and re-enables TensorRT tests
    • Extends GPU CI timeout from 20 β†’ 60 minutes for reliability
  • DDP training improvements (PR #22073) πŸ’Ό

    • Initializes world_size/ddp earlier, simplifies DDP APIs, and prevents duplicate wandb logs
  • Tuner robustness (PR #22066) πŸ›‘οΈ

    • Avoids KeyError when close_mosaic isn’t in the hyperparameter search space
  • UX polish (PRs #22071, #22083, #22046, #22063, #22085) ✍️

    • Aligns multi-GPU device printing
    • Clearer export error when trying to β€œexport” to pt
    • Fixes a broken DeepStream link for Jetson users
    • Documentation typo and formatting cleanups
    • Updates docs authors metadata

🎯 Purpose & Impact

  • Cleaner, more intuitive export APIs 🧭
    • The torch2onnx and onnx2engine names make conversion stages explicit and reduce confusion.
  • First-class Sony IMX exports πŸ“¦
    • New torch2imx enables end-to-end IMX500 deployment with built-in quantization and NMS wrapping.
    • Clearer docs and package layout make maintenance and contributions easier.
  • More reliable exports across backends βœ…
    • ONNX OBB fix prevents runtime failures on CUDA.
    • TensorRT export is more dependable, with re-enabled coverage to catch regressions earlier.
  • Smoother multi-GPU training 🧠
    • Early DDP setup avoids double logging and simplifies internals, improving stability for distributed runs.
  • Fewer paper cuts for users βœ‚οΈ
    • Robust tuner behavior, better error messages, aligned device output, and updated docs links all reduce friction.

Quick tips:

  • Export to ONNX:
    • CLI: yolo export model=yolo11n.pt format=onnx
  • Export to TensorRT:
    • CLI: yolo export model=yolo11n.pt format=engine dynamic
  • Export to Sony IMX:
    • CLI: yolo export model=yolo11n.pt format=imx
    • Note: IMX benchmarks currently enforce detection-only and support YOLOv8n/YOLO11n.

What's Changed

New Contributors

Full Changelog: v8.3.199...v8.3.200

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.