RKNN(Rockchip Neural Network) 是由瑞芯微电子(Rockchip)推出的一套针对其芯片(如 RK3399、RK3566/76 等嵌入式处理器)优化的神经网络推理引擎及工具链。它包含:
- RKNN Toolkit :用于将主流深度学习框架(如 TensorFlow、PyTorch、ONNX)训练好的模型,转换成适合 Rockchip 芯片上运行的 RKNN 格式模型文件(一般扩展名是
.rknn)。 - RKNN Runtime :集成在嵌入式设备上的推理库,用于加载
.rknn模型文件,接受输入数据,执行推理,输出结果。
.rknn 文件是已经经过转换和优化的模型文件,包含了:
- 模型结构(网络层的定义)
- 训练好的权重参数
以及针对 Rockchip芯片硬件特性做的优化信息(如量化参数、算子融合等)。
这是一个二进制格式的封装 ,方便在设备上快速加载和推理,而不需要原始训练代码或框架环境。
使用 RKNN 的流程
- 模型转换(通常在PC端操作)
- 先用 RKNN Toolkit 将 TensorFlow/PyTorch 等训练好的模型文件转换为
.rknn文件。- 这个过程会进行模型结构转换、权重打包、量化(可选)、优化。
- 部署到设备
- 将生成的
.rknn文件拷贝到目标设备(嵌入式板卡)。
- 设备端推理
- 使用 RKNN Runtime API(提供的 C/C++/Python 接口),加载
.rknn文件。- 输入预处理后的数据(如图像),调用推理接口。
- 获取输出结果(预测框、类别概率等)。
ps:后期会出一篇将Mixformerv2 从pt 转 onnx 转rknn,最后部署在rk3576上的文章。