Home RK3568之更新rknn_server
Post
Cancel

RK3568之更新rknn_server

1.引言

之前一直使用的是pc端的环境,但为了校验RKNN模型的真机推理结果和实际的推理结果的差异,因而不得不连真机来检验检测结果。

2.准备工作

2.1 下载RKNN环境文件

安装RKNN环境可以选择whl的安装方式,也可以选择docker的安装方式。两种方式的安装文件可以通过百度云盘下载:

1
2
下载链接:https://eyun.baidu.com/s/3eTG3VsY
密码: rknn

whl和docker文件都在下面的目录:

  • RKNN-Toolkit/release/rknn-toolkit-<version>/
    • packages
    • docker

其中version表示版本号,packages中是whl安装文件,docker里的是docker镜像文件。

2.2 安装RKNN环境

如果是whl文件,则通过pip命令安装;如果是docker文件则通过docker load XX.tar.gz命令加载即可。本文不再赘述。

3.具体操作

3.1 准备工作

顺序进行如下操作即可:

  • 通电,给机器通上电源
  • 连接USB,用USB线连接上板子,然后把板子上USB这一侧的开关打开。检测有无打开可以看机器有无提示调试模型已打开。
  • 准备adb,下载Android的SDK即可,路径为~/Android/Sdk/platform-tools

3.2 更新rknn_server

具体的步骤可以参见更新rknn_serverrknpu2仓库

下面列出具体的步骤:

3.2.1 获取device_id

1
2
3
~/Android/Sdk/platform-tools$ ./adb devices
List of devices attached
6f9da6c82c838e2d	device

其中的6f….就是设备的device_id。

3.2.2 获取写权限并更新rknn_server

更新rknn_server主要是把bin和so推送到android机器中,且所需文件都在rknpu2仓库中。

1
2
3
4
5
./adb root
./adb remount
./adb push rknpu2/runtime/RK356X/Android/rknn_server/arm64/rknn_server /vendor/bin/
./adb push rknpu2/runtime/RK356X/Android/librknn_api/arm64-v8a/librknnrt.so /vendor/lib64/
./adb push rknpu2/runtime/RK356X/Android/librknn_api/arm64-v8a/librknnrt.so /vendor/lib/

3.2.3 赋予执行权限并重启

首先赋予rknn_server执行权限,然后重启即可:

1
2
3
4
su
chmod +x /vendor/bin/rknn_server
sync
reboot

4.总结

RKNN安装和更新的步骤比较简单清晰,只要按照步骤做即可达到目标。但有两个步骤比较容易遗漏:

  • 一是板子上的USB开关记得打开,不然无法使用USB进行调试
  • 二是记得给予root权限,不然会出现推送文件失败,导致重启之后rknn_server的版本依然还是1.1.0.
This post is licensed under CC BY 4.0 by the author.
Contents