Ultralytics v8.4.143: INT8 QAT for YOLO26, Better Metrics, and Smoother Deployment
Ultralytics v8.4.143 is now available! This release introduces INT8 quantization-aware training for YOLO26, adds per-class AP75 metrics, improves deployment and Platform workflows, and delivers important training, lifecycle, and documentation fixes.
Explore the v8.4.143 GitHub release for the complete release details. ![]()
New Features
INT8 Quantization-Aware Training for YOLO26
You can now use quantize=8 during training to fine-tune pretrained YOLO26 models while simulating INT8 quantization:
yolo train model=yolo26n.pt data=coco8.yaml quantize=8
The resulting checkpoint stores calibrated quantization ranges and can be exported directly to ONNX or TensorRT with Q/DQ nodesβwithout needing calibration data during export.
This can help INT8 deployments retain more accuracy while reducing memory use, inference latency, and power consumption on resource-constrained edge hardware.
Implemented in PR #26083 by @Bovey0809.
Per-Class AP75 Metrics
Validation results now include per-class AP75 values in:
- Validation summaries
- DataFrame outputs
- CSV files
- JSON exports
The update applies consistently across detection, segmentation, pose, and OBB tasks, making category-level model analysis more informative.
Added in PR #24489 by @woreom.
Deployment and Integration Improvements
- YOLO26 DeepStream guidance now uses the native Ultralytics exporter instead of a separate third-party script through PR #26077 by @raimbekovm.
- Examples now explicitly select the NMS-free YOLO26 head with
nms=Falsewhere required, including Triton, DALI, SAM, and C++ workflows, through PR #26072 by @raimbekovm. - Quantization guidance no longer promises FP32 output for export formats that do not support it, following PR #26080 by @raimbekovm.
- Documentation now covers Apple Core AI export, spatial Albumentations support, and updated
max_detdataset behavior through PR #26078 by @raimbekovm.
Together, these changes simplify deployment across DeepStream, TensorRT, Core AI, OpenVINO, Edge TPU, Jetson, and other supported environments. ![]()
Training and Reliability Fixes
- Pretrained-model state is now handled correctly after
reset_weights()and inMultiTrainer, reducing the risk of unintentionally training from random initialization. See PR #26084 by @raimbekovm. - Copies and conversions of
Resultsobjects now preserve prediction save directories through PR #26074 by @aswanth-07. - Stale SAM3 decoder coordinate caches are removed to improve reliability across device and precision changes in PR #26075 by @tritsystem.
Platform and Authentication Updates
Ultralytics now uses the Platform SDK for shared login, model downloads, dataset exports, and access to training resources.
- Platform SDK integration arrives in PR #26087 by @glenn-jocher.
- Python 3.11 and newer environments now require Platform SDK
>=0.1.32for shared login through PR #26088 by @glenn-jocher.
Local workflows on older supported Python versions remain available.
Documentation Refresh
A broad documentation review improves correctness and consistency across:
- CLI syntax and Python examples
- Export formats and precision guidance
- Dataset layouts and image decoding
- Tracker behavior
- Hardware and deployment integrations
- YOLO26 depth-estimation dataset guidance
- Albumentations support for boxes, polygons, keypoints, depth maps, and semantic masks
- Ultralytics Platform dataset and training links
These updates are included in PR #26070 by @glenn-jocher.
Welcome, New Contributors!
A warm welcome and thank you to:
- @tritsystem, who made their first contribution in PR #26075.
- @woreom, who made their first contribution in PR #24489.
Try v8.4.143
Upgrade to the latest release with:
pip install -U ultralytics
Please try the new QAT workflow, validation metrics, and deployment improvements, then share your feedback and any issues with the community. You can review every change in the full v8.4.142-to-v8.4.143 changelog. ![]()