π Summary
RT-DETR exports to TensorFlow/TFLite are now reliable by automatically using ONNX opset 19, plus a small tuner bug fix and documentation/CI updates. β π
π Key Changes
-
RT-DETR TensorFlow/TFLite export made robust
- Automatically enforces
opset=19
during the ONNX step when exporting RT-DETR to TensorFlow SavedModel (and downstream TFLite). See the PR by @Y-T-G: RTDETR TFLite export fix with ONNX opset constraints fixing issue #18055. π§ - ONNX simplification remains enabled (
simplify=True
), improving export stability. - Scope is limited to the TensorFlow SavedModel export path; YOLO11/YOLO26 and other models/exports are unaffected.
- Automatically enforces
-
Dependency updates for export
- Bumped
onnxslim
to>=0.1.71
for both ONNX and TensorFlow SavedModel export paths for better model graph simplification. π¦
- Bumped
-
Tuner reliability fix
- Correct best-iteration detection when resuming hyperparameter tuning, ensuring the βbest runβ is identified accurately. Thanks @Y-T-G. π§
-
CI and Docs improvements
- Temporarily disabled GPU CI jobs to avoid flaky runs due to runner availability. π οΈ
- Added CI badges for more repos in CI Help Docs, including Ultralytics Stars and CLIP. β
- Updated docs banner to a more reliable PNG from the Ultralytics assets repo and added a βShenzhenβ label with responsive styling for better branding. π¨
π― Purpose & Impact
-
More reliable RT-DETR β TensorFlow/TFLite exports
- Prevents failures seen with higher ONNX opsets (e.g., 20+), improving out-of-the-box conversions. π‘οΈ
- May override a user-specified higher opset to 19 for RT-DETR to ensure successful export. βοΈ
-
Smoother export experience
- Newer
onnxslim
enhances ONNX graph simplification, reducing export friction. β©
- Newer
-
More accurate tuning results
- Fixes edge cases when resuming tuning so the best iteration is correctly tracked and saved. π
-
Clearer docs and steadier CI
- Improved branding and asset reliability in docs, plus centralized CI visibility across more Ultralytics repos. π
- Temporary GPU CI pause improves pipeline stability but may reduce GPU regressions caught until re-enabled. β οΈ
Quick examples:
- CLI:
yolo export model=rtdetr.pt format=tf
oryolo export model=rtdetr.pt format=tflite
- Python:
from ultralytics import YOLO model = YOLO("rtdetr.pt") model.export(format="tf") # TensorFlow SavedModel model.export(format="tflite") # TFLite
What's Changed
- YOLO Vision 2025 Shenzhen Docs banner by @sergiuwaxmann in #22313
- Add
ultralytics/stars
to Docs CI page by @glenn-jocher in #22331 - Update YOLO Vision 2025 Shenzhen banner by @glenn-jocher in #22332
- Fix identification of best fitness iteration when resuming tuning by @Y-T-G in #22329
ultralytics 8.3.209
RTDETR TFLite export fix with ONNX opset constraints by @Y-T-G in #22314
Full Changelog: v8.3.208...v8.3.209