RKNN 使用
RKNN软件栈可以帮助用户快速的将AI模型部署到Rockchip芯片。为了使用 RKNPU,用户需要首先在计算机上运行 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式模型,之后使用 RKNN C API 或 Python API 在开发板上进行部署。
RKNN 软件栈可以帮助用户快速将 AI 模型部署到 Rockchip 芯片上。总体框架如下:

为了使用 RKNPU,用户需要先在电脑上运行 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式的模型,然后在开发板上使用 RKNN C API 或 Python API 进行推理。
- RKNN-Toolkit2 是一款软件开发套件,供用户在 PC 和 Rockchip NPU 平台上进行模型转换、推理和性能评估。
- RKNN-Toolkit-Lite2 为 Rockchip NPU 平台提供 Python 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。
- RKNN Runtime 为 Rockchip NPU 平台提供 C/C++ 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。
- RKNPU 内核驱动负责与 NPU 硬件交互。它一直是开源的,可以在 Rockchip 内核代码中找到。
1 RKNN-Toolkit2 功能介绍
RKNN-Toolkit2 是为用户提供在计算机上进行模型转换、推理和性能评估的开发套件,
RKNN-Toolkit2 的主要框图如下:

通过该工具提供的 Python 接口可以便捷地完成以下功能:
模型转换:支持 PyTorch、ONNX、TensorFlow、TensorFlow Lite、Caffe、DarkNet等模型转为 RKNN 模型。量化功能:支持将浮点模型量化为定点模型,并支持混合量化。模型推理:将 RKNN 模型分发到指定的 NPU 设备上进行推理并获取推理结果;或在计算机上仿真 NPU 运行 RKNN 模型并获取推理结果。性能和内存评估:将 RKNN 模型分发到指定 NPU 设备上运行,以评估模型在实际设备上运行时的性能和内存占用情况。量化精度分析:该功能将给出模型量化后每一层推理结果与浮点模型推理结果的余弦距离和欧氏距离,以便于分析量化误差是如何出现的,为提高量化模型的精度提供思路。模型加密功能:使用指定的加密等级将 RKNN 模型整体加密。
2 RKNN Runtime 功能介绍
RKNN Runtime 负责加载 RKNN 模型,并调用 NPU 驱动实现在 NPU 上推理 RKNN 模型。推理 RKNN 模型时,包括原始数据输入预处理、NPU 运行模型、输出后处理三项流程。
// TO DO