打开官方提供的虚拟机,登录密码是“luckfox”。
打开终端,用git指令下载SDK。“git clone https://github.com/LuckfoxTECH/luckfox-pico.git”。
在访问github时经常出现下载失败的情况,多试几次或者用VPN加速。也可直接到官网下载zip压缩包,传到虚拟机上解压缩。下图是下载好的SDK。
打开终端输入“ls”命令查看当前目录。
输入“./build.sh lunch”选择编译的分支。我用的是Luckfox pico开发板,所以输入0。 1对应的是luckfox pico plus开发板。如下图:
输入“./build.sh”开始编译SDK,时间有点长。编译成功后会在output/image下生成很多文件,如下图:
1、下载rknn-toolkit2和rknpu2压缩包。
rknn-toolkit2下载链接:https://github.com/rockchip-linux/rknn-toolkit2
rknpu2下载链接:https://github.com/rockchip-linux/rknpu2
2、下载后解压,并移动到SDK文件夹中,如下图:
3、安装所需依赖“sudo apt-get install libxslt1-dev zlib1g-dev libglib2.0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc”。
4、进入“rknn-toolkit2-master/rknn-toolkit2-master/doc”文件夹,运行命令“pip3 install -r requirements_cp36-1.5.2.txt”安装python3.6的相关依赖。安装时会报错,原因是pip3版本太低。
解决办法: 运行命令“pip3 install --upgrade pip”更新pip3版本。
再次运行“pip3 install -r requirements_cp36-1.5.2.txt”接着报错,需要安装testresources,pip3安装一下
最终安装成功,无报错。
5、cd转到package路径下,运行“pip3 install rknn_toolkit2-1.5.2+b642f30c-cp36-cp36m-linux_x86_64.whl”。
输入“python 3”
再输入“from rknn.api import RKNN" 检查是否安装成功,没报错表示安装成功。
输入“exit()”退出python。
1、设置交叉编译器
交叉编译器在下载的SDK中。即/home/luckfox/Luckfox-Pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf
以yolov5为例。cd到“/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo”路径下。
设置交叉编译工具的路径。输入“vim build-linux_RV1106.sh”,添加红框中的内容之后保存退出。具体细节请看"/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo/README_CN.md"文件。
2、运行“./build-linux_RV1106.sh”命令,开始编译rknn_yolov5_demo。如下图:
编译完成,如下图:
1、虚拟机设置共享文件夹
点击“设备”>“共享文件夹”>点击"+"设置电脑的共享文件夹路径。
如下图:
2、将“/home/luckfox/Luckfox-Pico/luckfox-pico/rknpu2-master/rknpu2-master/examples/RV1106_RV1103/rknn_yolov5_demo/install”文件夹下面上一步编译好的rknn_yolov5_demo_Linux文件夹复制到共享文件夹sf_Share中,如下图:
3、按下 Win + R 快捷键输入 CMD 打开 Windows shell 终端。
输入adb connect 172.32.0.93。显示connected to 172.32.0.93:5555表示连接开发板成功。
输入adb -s 172.32.0.93:5555 shell登录开发板。显示#表示登录成功。
输入ls 查看一下当前路径下的文件。
关掉cmd,重新打开。将rknn_yolov5_demo_Linux文件夹复制到电脑的C:UsersAdministrator路径下。
输入“adb push .rknn_yolov5_demo_Linux /data”将rknn_yolov5_demo_Linux复制到开发板的data目录,如下图:
输入“adb shell”。cd到data/rknn_yolov5_demo_Linux路径下。
输入“export LD_LIBRARY_PATH=/data/lib”设置lib环境变量。
输入“ cd /data/rknn_yolov5_demo_Linux”进入此文件夹。
输入“./rknn_yolov5_demo ./model/RV1106/yolov5s-640-640.rknn ./model/bus.jpg ”开始进行图片识别。
报错,说没有操作权限。
输入“chmod 777 -R rknn_yolov5_demo”,把权限全部放开。之后成功推理出结果,如下图:
至此实验结束,运用RKNN SDK成功在Luckfox pico开发板上完成yolov5的图像识别。
更多回帖