瑞芯微推理RKNN使用
参考资料
toolkit2
官网资料
野火实践指南
Ubuntu22.04实践
安装toolkit2
- 安装命令
注意加上 -i xxx 可能会造成下载tf-estimator-nightly-2.8.0.dev2021122109失败,所以安装ensorboard-2.8.0时不加-i xxx 。pip3 install -r xxx/packages/requirements_cp310-1.6.0.txt pip3 install xxx/packages/rknn_toolkit2-1.6.0+81f21f4d-cp310-cp310-linux_x86_64.whl
- 检测是否安装成功
(toolkit2_1.5) llh@YH-LONG:~$ python3 Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from rknn.api import RKNN >>>
推理步骤与过程
-
模型转换
- 将其它模型转为onnx模型
- 将onnx模型转换为rknn模型 python convert.py …/model/yolov8n.onnx rk3588
-
进行推理测试
板端推理 python yolov8.py --model_path …/model/yolov8.rknn --target rk3568 --img_show- 遇到问题1 ValueError: ‘rknn_model_zoo’ is not in list. 解决办法将"rknn_model_zoo"改为实际项目名字"rknn_model_zoo-main"
- 遇到问题2 error: no devices/emulators found. 板子连接问题,未连接板子或板子未连接好
PC端推理 可在examples目录下找到对应的模型测试文件,如…/examples/onnx/yolov5/test.py。在目录下可直接执行python test.py
-
板端推理前置步骤
- 板端GCC安装 [GCC下载](https://releases.linaro.org/components/toolchain/binaries/6.3-
2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz) - 计算机端 ./build-linux.sh -t rk3568 -a aarch64 -d yolov8 执行完毕会生成install文件夹
- 将生成的文件推到板端 adb push install/<TARGET_PLATFORM>linux/rknn_yolov8_demo/ /userdata/
- 进入板端,运行命令
adb shell cd /userdata/rknn_yolov8_demo export LD_LIBRARY_PATH=./lib ./rknn_yolov8_demo model/yolov8.rknn model/bus.jpg
- 生成结果为out.png。adb pull /userdata/rknn_yolov8_demo/out.png
- 板端GCC安装 [GCC下载](https://releases.linaro.org/components/toolchain/binaries/6.3-