New Release: Ultralytics v8.3.222

Ultralytics v8.3.222 :rocket: — INT8 TFLite for end2end, better quantized NMS, and IMX500 Classification

Quick summary: TFLite INT8 export is now enabled for end2end models, quantized NMS accuracy is improved, and IMX500 gains full Classification support—making fast, small-footprint deployments on mobile and edge devices even easier. :mobile_phone::high_voltage:

Highlights

  • TFLite INT8 export now works with end2end models for smaller, faster pipelines.
  • Quantized NMS receives accuracy and stability improvements for INT8 exports.
  • IMX500 adds Classification export and inference alongside Detection and Pose.
  • Docs, developer experience, and CI receive polish for a smoother workflow.

Upgrade with:

pip install -U ultralytics

New Features

  • TFLite INT8 for end2end models :white_check_mark:
    We enabled exporting quantized TFLite INT8 models even when end2end is used, as implemented in PR #22503 by @Y-T-G.
    Try it with YOLO11 or YOLOv10:

    yolo export model=yolo11n.pt format=tflite int8 end2end
    yolo export model=yolov10n.pt format=tflite int8 end2end
    

    Validate your INT8 TFLite model:

    yolo val task=detect model=yolo11n_saved_model/yolo11n_int8.tflite data=coco128.yaml
    
  • IMX500: Classification export + inference :control_knobs:
    IMX500 now supports the Classification task end-to-end, including docs, examples, and benchmarks, delivered in PR #21405 by @ambitious-octopus.

Improvements

  • More accurate NMS under quantization :brain:
    We improved the stability and accuracy of NMS in quantized exports, particularly TFLite INT8, via PR #22487 by @Y-T-G.

Docs and Developer Experience :sparkles:

CI and Tooling Upgrades :toolbox:

Bug Fixes :bug:

How to Try It

  • CLI examples:
    # Export YOLO11 INT8 TFLite end2end
    yolo export model=yolo11n.pt format=tflite int8 end2end
    
    # Validate exported INT8 TFLite
    yolo val task=detect model=yolo11n_saved_model/yolo11n_int8.tflite data=coco128.yaml
    
  • Python example:
    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    model.export(format="tflite", int8=True, end2end=True)
    

Notes on Models

  • YOLO11 is the latest stable and recommended model for all use cases.
  • YOLO12 and YOLO13 are community models and not recommended due to stability, speed, and reproducibility concerns.
  • YOLO26 is active R&D targeting open-sourcing later in 2025, aiming for smaller, faster, more accurate, end-to-end models across all YOLO11 sizes and tasks.

Get Involved

We’d love your feedback on this release. Share your experience and questions in our GitHub Discussions, and review the details on the v8.3.222 release page. You can also explore every change in the full v8.3.222 changelog diff.

Big thanks to our community contributors for making this possible—your energy powers Ultralytics YOLO. Happy exporting and deploying! :high_voltage: