pypi ultralytics 8.4.59
v8.4.59 - Validate RKNN INT8 calibration dataset path (#24659)

4 hours ago

🌟 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.txt calibration file automatically.
    • dataset.txt stays an internal implementation detail, not something users are expected to manage directly.
  • ⚑ New RKNN INT8 export support introduced in this release cycle

    • RKNN export now supports:
      • int8=True
      • data=...
      • fraction=...
    • This enables INT8-quantized RKNN model export, which is especially important for Rockchip devices that require INT8 models.
  • πŸ“± 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=True is required
      • use of data and fraction for calibration
    • Export reference tables and tutorial content were updated to reflect the new RKNN options.
  • πŸ›‘οΈ 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.yaml or another dataset YAML, without learning RKNN-specific file conventions.
  • 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

Full Changelog: v8.4.58...v8.4.59

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.