1:介绍如何通过docker安装RK工具链
2:以RV1106为例说明PC模型仿真转换和板载模型转换
Tips: Rockchip(瑞芯微)不同芯片对应的NPU和toolkit是不同的,下载时需注意区分!
平台
RK1808/RK1806
RV1109/RV1126
RKNPU:本工程主要为Rockchip NPU提供驱动、示例等。下载地址:
GitHub - rockchip-linux/rknpuContribute to rockchip-linux/rknpu development by creating an account on GitHub.https://github.com/rockchip-linux/rknpuRKNN-toolkit:本工程主要为将原始的模型转化成rknn模型。下载地址:
https://github.com/rockchip-linux/rknn-toolkithttps://github.com/rockchip-linux/rknn-toolkit
平台
RKNPU2:本工程主要为Rockchip NPU提供驱动、示例等。下载地址:
GitHub - rockchip-linux/rknpu2Contribute to rockchip-linux/rknpu2 development by creating an account on GitHub.https://github.com/rockchip-linux/rknpu2RKNN-toolkit2:本工程主要为将原始的模型转化成rknn模型。下载地址:
https://github.com/rockchip-linux/rknn-toolkit2https://github.com/rockchip-linux/rknn-toolkit2
下载对应的RKNPU2和RKNN-toolkit2
1:首先打开rknpu2-master/doc目录
2:找到官方安装指南:Rockchip_RV1106_Quick_Start_RKNN_SDK_V1.4.0_CN.pdf。
里面提供了两种按照方式:不想折腾,推荐docker安装
A:通过 pip install 安装
B:通过 Docker 镜像安装
3:下载RK_NPU_SDK
在rknn-toolkit2页面中,下拉找到Download,将RK_NPU_SDK下载到本地。其中里面包含所有的发布包、docker镜像、example十里、doc说明文档、平台工具等。
下载解压后如图所示:
4:加载官方镜像
cd rknn-toolkit2-1.4.0/
cd docker/
docker load --input rknn-toolkit2-1.4.0-cp36-docker.tar.gz
docker images
load 镜像
查看镜像
创建容器
docker run --privileged=true -it --shm-size 8G --name=RK_Convert1106 -v /home/lilai/mnt4T/Shared/RKConvert_1106:/home 141504379c0f /bin/bash
5:运行PC仿真模型,并测试推理结果
代码路径: rknn-toolkit2-1.4.0/examples/onnx/yolov5/test.py
再来细看一下这个test.py脚本,包含模型的转换和测试两部分。
6:生成板子部署模型:代码路径:
rknpu2-master/examples/rknn_yolov5_demo/convert_rknn_demo/yolov5/onnx2rknn.py
7:PC仿真模型与板子部署模型的区别在哪里呢?
A:PC仿真模型作用
1-测试模型转换过程是否正常(验证算子是否都支持)
2-衡量转换后模型的精度情况(模型本身是否精度有问题、量化方式、参数是否有问题)
3-评测转换后模型的指标(占用、推理等)
B:板子部署模型作用
1-就是生成可以在板子上运行推理的rknn模型。
C:PC仿真模型与板子部署模型不要混用
D:两者转换操作时候的具体区别如下图,可放大对比
1:板子部署模型转换时候指定了运行的芯片类型
后续文章:将记录以下内容:
1:转换自己的模型、普通量化、混合精度量化等
2:RKNPU2的编译以及使用方法
3:RK的交叉编译以及部署调试