π Summary
Ultralytics v8.4.59 improves Rockchip RKNN export with safer and clearer INT8 quantization support, making deployment on Rockchip edge devices more reliable and easier to use π
π Key Changes
-
β RKNN INT8 calibration file is now validated before export proceeds
- The releaseβs main follow-up change from @glenn-jocher checks that the internally generated calibration image list actually exists before loading the RKNN Toolkit.
- This helps catch setup issues earlier, with clearer error messages instead of failing later in a more confusing way.
-
π§ Simpler RKNN INT8 workflow for users
- Users continue to provide a standard YOLO dataset YAML with
data=...during export. - Ultralytics now handles conversion of that dataset into RKNNβs internal
dataset.txtcalibration file automatically. dataset.txtstays an internal implementation detail, not something users are expected to manage directly.
- Users continue to provide a standard YOLO dataset YAML with
-
β‘ New RKNN INT8 export support introduced in this release cycle
- RKNN export now supports:
int8=Truedata=...fraction=...
- This enables INT8-quantized RKNN model export, which is especially important for Rockchip devices that require INT8 models.
- RKNN export now supports:
-
π± Expanded support for INT8-only Rockchip chips
- Devices such as RV1103, RV1106, RV1103B, and RV1106B are now supported through INT8 export.
- The exporter also warns and auto-adjusts when a selected chip requires
int8=True.
-
π Documentation and export tables updated
- RKNN docs now clearly explain:
- floating-point export behavior for FP16-capable targets
- when
int8=Trueis required - use of
dataandfractionfor calibration
- Export reference tables and tutorial content were updated to reflect the new RKNN options.
- RKNN docs now clearly explain:
-
π‘οΈ Better RKNN API error handling
- Internal RKNN API calls now check return values more carefully.
- Failures in config, ONNX loading, build, or export are surfaced as clearer runtime errors.
π― Purpose & Impact
-
More reliable RKNN exports π
- Validating the calibration file up front reduces frustrating export failures and makes debugging easier.
-
Easier INT8 quantization for everyone π
- Users can stick to the familiar Ultralytics pattern of passing
data=coco8.yamlor another dataset YAML, without learning RKNN-specific file conventions.
- Users can stick to the familiar Ultralytics pattern of passing
-
Better support for edge deployment on Rockchip hardware π¦
- INT8 export opens the door to more Rockchip NPUs, including chips that cannot use floating-point RKNN models.
-
Cleaner user experience π§Ή
- The release hides low-level RKNN details from users and keeps the interface aligned with other Ultralytics export formats.
-
Potential performance and compatibility gains π
- INT8 models are often smaller and better suited for constrained edge devices.
- For supported Rockchip targets, this can improve deployability and help users target hardware that previously wasnβt practical with RKNN export.
-
Lower risk of misconfiguration β οΈ
- Clearer warnings, updated docs, and improved validation make it less likely that users will choose unsupported settings by accident.
If helpful, I can also provide a 1-paragraph release note version or a developer-focused changelog summary for v8.4.59.
What's Changed
ultralytics 8.4.59Rockchip RKNN INT8 export option by @glenn-jocher in #24656- Validate RKNN INT8 calibration dataset path by @glenn-jocher in #24659
Full Changelog: v8.4.58...v8.4.59