RK1808 计算棒使用(被动模式)

Posted JeckXu666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK1808 计算棒使用(被动模式)相关的知识,希望对你有一定的参考价值。

RK1808 计算棒使用(被动模式)

一、硬件平台

1.1 RK1808S0 计算棒外观:

1.2 产品技术规格

CPU规格:

CPURK1808
内存1GB LPDDR
存储8GB EMMC
尺寸82×31×13mm
接口USB3.0 Type-A
最小系统要求Ubuntu 16.04或win 7的x86_64计算机;
USB 2.0 Type-A端口;2 GB RAM;4 GB可用存储空间;
温度0℃~40℃

NPU峰值算力:3TOPs

1.3 被动模式

被动模式下,上位机通过 RKNN-Toolkit 将模型及前处理后的数据传输给 RK1808 人工智能计算棒,RK1808 人工智能计算棒完成推理,并把结果返回上位机,上位机进行后处理以及显示等操作,此方法主要用于模型的测试验证,当测试验证完成后,可以在主动模式下将模型进行部署,其他设备传输数据到计算棒,直接获取 AI 模型推理结果!

二、环境安装

2.1 下载 rknn-tool-kit

Github下载链接:下载链接

下载指令:

git clone https://github.com/rockchip-linux/rknn-toolkit

2.2 创建 python 环境

使用 conda 创建一个 rknn 运行的 python 环境

conda create -n rknn_py_env python=3.6.8 

环境创建:

环境创建后,激活环境

conda activate rknn_py_env 

如果 conda activate 无法使用,先使用 conda init bash 初始化本地 bash,初始化后,bash 前面会有(bash),然后激活环境,环境激活后如下:

2.3 安装 rknn_toolkit 1.71 版本工具

在该环境下安装 rknn 所需要的依赖

conda install tensorflow==1.14.0
conda install mxnet==1.5.0
pip3 install torch==1.5.1 torchvision==0.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install gluoncv -i https://pypi.tuna.tsinghua.edu.cn/simple/

依赖安装完成后,进入到 rknn 目录下面的 package 目录下,下载 rknn 轮子包:

wget https://github.com/rockchip-linux/rknn-toolkit/releases/download/v1.7.1/rknn-toolkit-v1.7.1-packages.tar.gz

下载后解压,然后安装:

tar zxvf rknn-toolkit-v1.7.1-packages.tar.gz
cd packages/
pip3 install rknn_toolkit-1.7.1-cp36-cp36m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

测试一下 rknn 环境有没有安装成功,安装成功如下

三、Demo 运行

3.1 更新 rk1808 规则

插入计算棒,Ubuntu 下会将 RK1808 识别成一个 U盘,我们拷贝 update_rk1808_ai_cs_rule.sh 文件到 rknn 环境文件夹下面:

cp /media/jeck/D751-28EA/tool/update_rk1808_ai_cs_rule.sh /home/jeck/rk1808/ -f

给脚本可执行权限,执行脚本

chmod +x ./update_rk1808_ai_cs_rule.sh 
./update_rk1808_ai_cs_rule.sh

使用 lsusb 查看 rk1808 设备:

3.2 获取设备号及测试模型

下载一个 mobilenetv1 的测试程序,并解压:

wget http://repo.rock-chips.com/rk1808/mobilenet_v1.tar.gz
tar xvf mobilenet_v1.tar.gz

在进行测试前,我们先看一下当前 RK1808S0 的设备号:

# 先启动python
python
# 打印设备ID
from rknn.api import RKNN
rknn = RKNN()
rknn.list_devices()

执行结果,获得了设备号:

注意:使用 quit() 退出 python 环境

3.3 添加设备号测试模型

进入 mobilenet 文件夹,修改执行脚本,添加目标设备号:

vim test.py 

添加位置:

执行测试脚本:

python test.py

模型测试结果:

帧率: 141.74,量化后精度: 0.8828125,效果不错

以上是关于RK1808 计算棒使用(被动模式)的主要内容,如果未能解决你的问题,请参考以下文章

RK1808 计算棒使用(主动模式)

RK1808固件开发

ld 链接器找不到 so 库

ld 链接器找不到 so 库

RK3399pro Linux Rock-X AI组件库支持

web攻击模式