RK1808 计算棒使用(被动模式)
Posted JeckXu666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK1808 计算棒使用(被动模式)相关的知识,希望对你有一定的参考价值。
文章目录
RK1808 计算棒使用(被动模式)
一、硬件平台
1.1 RK1808S0 计算棒外观:
1.2 产品技术规格
CPU规格:
CPU | RK1808 |
---|---|
内存 | 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 计算棒使用(被动模式)的主要内容,如果未能解决你的问题,请参考以下文章