迅为RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示模型转换
开发板采用核心板+底板结构,在我们的资料里提供了底板的原理图工程以及PCB工程,可以实现真正意义上的裁剪、定制属于自己的产品,满足更多应用场合。
迅为针对RK3576开发板整理出了相应的开发流程以及开发中需要用到的资料,并进行详细的说明。快速定位需要使用的文档,大大提升研发速度。
迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。

2 rknn-toolkit2 功能演示
迅为有录制 rknn_toolkit2 视频教程,详细的讲解了 rknn_toolkit2 各个 API 的使用,具体超 链接如下所示:
04_RKNN 模型构建
05_RKNN 模型评估-推理测试
06_RKNN 模型评估-量化精度分析
07_RKNN 模型评估-性能评估和内存评估
视频中使用的在 rknn_toolkit2 版本为 1.4,而现在最新版本为 2.3,RK 会不断的对 rknn_to olkit2 版本进行更新,但对于 api 的使用方法是不会变的,所以大家要想了解 rknn_toolkit2 各 个 API 的使用方法,可以直接看上面的视频链接,在本手册中只会对 rknn_toolkit2 的例程进行 演示。
2.2.1 模型转换
上面也提到了 rknn_toolkit2 最重要的功能就是进行模型转换,将常用的 Caffe、TensorFlo w、TensorFlow Lite、ONNX、DarkNet、PyTorch 等模型转为 RK 支持 RKNN 模型,在 rknn-t oolkit2/rknn-toolkit2/examples 目录下提供了上述各个模型的转换和推理例程,如下图所示:
这里以 pytorch 的 resnet18 例程进行演示,首先来到 knn-toolkit2/rknn-toolkit2/examples/py torch/resnet18 目录下,如下图所示:
由于默认没提供 resnet18 模型,所以需要手动拷贝到该目录下,具体模型存放路径为“i TOP-3576 开发板\02_【iTOP-RK3576 开发板】开发资料\05_NPU 例程测试配套资料\05_resnet1 8 模型”,拷贝完成如下图所示:
然后修改 test.py 内容,将第 53 行 config 接口的 target_platform 参数设置从 rk3566 修改为 rk3576,target_platform 参数决定了要构建具体 SOC 类型的 RKNN 模型,其他地方不需要改动,修改完成如下图所示:
然后保存退出,运行 test.py,需要注意的是必须确保已经安装了 rknn-toolkit2,使用上一小节描述的三种方法均可,这里使用的是第一种方法安装的 rknn-toolkit2,运行过程如下所示:

运行完成只会会生成 RK3576 对应的 RKNN 模型以及推理结果如下图所示:


推理结果为 space shuttle,推理的图片为航天飞机,如下图所示:

推理结果正确,至此对于 rknn-toolkit2 模型转换和推理就演示完成了,需要注意的是这里是在 X86 Linux 系统上通过模拟器进行推理的,并不代表在开发板的运行情况,更常用的推理测试为下一个小节的连板推理。