New Release: Ultralytics v8.3.220

Ultralytics v8.3.220 :rocket: ExecuTorch export + VisualAI stability

Brief summary: This release adds native ExecuTorch export for Ultralytics YOLO, enabling fast on-device inference on mobile and edge with XNNPACK acceleration, and includes a stability fix for CLIP embedding extraction in VisualAI. YOLO11 remains our recommended default for all use cases.

Highlights

  • Export YOLO11 and YOLO26 models to .pte with a single command for iOS, Android, and embedded Linux via ExecuTorch :mobile_phone::high_voltage:
  • XNNPACK acceleration on CPU with accuracy parity in early device tests
  • VisualAI fix: safer CLIP embedding handling to prevent autograd errors and reduce memory usage

New Features

  • ExecuTorch export
    • New export target: set format=executorch to produce a .pte file inside a <name>_executorch_model/ folder
    • Integrated into export_formats() and the standard Ultralytics exporter flow
    • New export_executorch() pathway built on torch.export, XnnpackPartitioner, and to_edge_transform_and_lower
    • Saves metadata.yaml alongside the .pte for straightforward mobile/edge integration
    • Backend/runtime support in AutoBackend for .pte loading and inference dispatch
    • Documentation and examples now available; export tables updated for parity with other targets
    • Test coverage added for CLI and matrix export (skipped on Windows)

Improvements

  • Developer workflow
    • ExecuTorch export feels like any other Ultralytics export target with consistent UX and metadata packaging
    • Clear docs and references to guide mobile and embedded integration end to end
  • Deployment performance
    • Uses XNNPACK by default for optimized mobile CPU performance
    • Early Raspberry Pi tests indicate notable speedups with matching accuracy

Bug Fixes

  • VisualAI
    • CLIP embeddings are now detached before NumPy conversion to avoid autograd-related errors and lower memory overhead

Quick Start

  • CLI
    yolo export model=yolo11n.pt format=executorch
    
  • Python
    from ultralytics import YOLO
    
    YOLO("yolo11n.pt").export(format="executorch")
    

Learn how to integrate ExecuTorch in the updated guide by visiting the page on Deploying YOLO11 with ExecuTorch, and explore the upstream runtime at Meta’s ExecuTorch project page.

Compatibility Notes

  • Requires Python 3.10+, PyTorch 2.9 or newer, plus executorch and flatbuffers
  • Export writes both .pte and metadata.yaml
  • Inference uses the ExecuTorch runtime on device (not standard Python YOLO() loading)
  • Recommended model remains YOLO11 for all tasks; YOLO26 R&D will bring smaller, faster, more accurate, end-to-end models with full YOLO11 size/task coverage

What’s Changed

You can review the complete set of changes by reading the full changelog between v8.3.219 and v8.3.220, and see packaged assets on the v8.3.220 release page.

Call for Feedback

We’d love your feedback on ExecuTorch export and mobile/edge integration. Please try the new export target with YOLO11, share benchmarks from your devices, and let us know how we can improve the developer experience. Thank you to the YOLO community and Ultralytics team for the contributions that made this possible!