手上只有一块DAYU200的鸿蒙开发板,想要运行一些简单的算法。
一、将DAYU200烧录Ubuntu操作系统
参考:[ROC-RK3568-PC] 手把手教你制作Ubuntu系统TF卡启动盘
DAYU200妖怪烧录大法
为了尽量避免一些奇怪的错误,这里我采用TF卡的烧录方法,不用害怕将开发板原有的系统擦除,可以放心烧录。后续切换操作系统只需要插拔TF卡就行,很方便。
1. 所需工具
(1)16G或者以上的TF卡
(2)系统镜像:ubuntu20.04(提取码:1234)
(3)SD卡制作工具
(4)一台显示器(与板子上的HDMI相接)
(5)USB读卡器
2. 烧录Ubuntu系统
(1)制作TF卡(固件选择刚刚下载好的镜像文件.image)
(2)将开发板与显示屏连接
(3)将TF卡插入DAYU200鸿蒙开发板的TF卡槽,按reset等待开机
3. 成功截图
二、在PC端安装RKNN-Toolkit
参考:rk3588使用npu进行模型转换和推理,加速AI应用落地
我的台式机的操作系统是Ubuntu20.04,这里我使用Anaconda创建了一个python3.8的虚拟环境。(如果操作系统是Ubuntu18.04,可以选择创建一个python3.6的环境)
conda create -n py38 python=3.8
等待虚拟环境创建完成后,进入py38的虚拟环境
conda activate py38
(1)安装相关依赖
sudo apt-get install python3 python3-dev python3-pip
sudo apt-get install zlib1g zlib1g-dev
sudo apt-get install libxslt1-dev libglib2.0-0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc
(2)获取RKNN-Toolkit2安装包
网上很多教程都是从firefly的资源网站下载的,但我下的太慢了,所以我直接从Gitcode上的mirrors / rockchip-linux上下载了rknn-toolkit2、rknpu2两个项目源码。
(3)将rknn-toolkit2-master解压后进入该目录,安装python环境
pip install -r doc/requirements_cp38-1.4.0.txt
出现一些库的报错的话,可以上网搜解决方法,这里就不展开了。将一些报错解决后,重新执行命令,直到成功。
pip install -r doc/requirements_cp38-1.4.0.txt
(4)安装RKNN-Toolkit2
sudo pip3 install packages/rknn_toolkit2-1.4.0_22dcfef4-cp38-cp38-linux_x86_64.whl
(5)检验是否安装成功
python3
from rknn.api import RKNN
如果导入模块没有报错就说明成功了。
三、在PC端仿真运行示例
这里以 yolov5 为例。
cd rknn-toolkit2-master/examples/onnx/yolov5
python3 test.py
执行结果:
可以看到程序中执行的主要操作有:创建 RKNN 对象;模型配置;加载 onnx 模型;构建 RKNN 模型;导出 RKNN 模型;加载图片并推理,得到推理结果;释放 RKNN 对象。
四、在DAYU200开发板上安装rknn_toolkit_lite2,并运行demo
参考:TB-RK3568X安装rknn_toolkit_lite2并运行demo
rk3588对npu的再探索,yolov5使用rknn模型推理教程
RK3588平台Ubuntu系统配置RKNN环境
rk3568 RKNN配置(部分异常情况)
1. 安装RKNPU2
RKNPU2的安装非常简单,只需要将动态链接库和C头文件放到指定路径即可。
(1)将rknpu2-master/runtime/RK356X/Linux/librknn_api/aarch64中的librknnrt.so、librknn_api.so两个文件放在开发板的/usr/lib目录。
这里传输可以选择adb,也可以选择使用scp。scp命令见附录四。
(2)将rknpu2-master/runtime/RK356X/Linux/librknn_api/include中的rknn_api.h文件放在开发板的/usr/include目录。
(3)将rknpu2-master/runtime/RK356X/Linux/rknn_server/aarch64/usr/bin中的restart_rknn.sh、rknn_server、start_rknn.sh三个文件放在开发板的/usr/bin目录。
2. 安装RKNN-Toolkit-Lite2
RKNN-Toolkit-Lite2有两个版本的pip3安装包,分别对应Python 3.7和Python 3.9,Python的版本必须一致才能安装成功,因此我们先安装Anaconda3配置Python 3.9的环境。
(1)在开发板上安装Anaconda3
下载Anaconda3-2022.10-Linux-aarch64.sh文件后传输到开发板上,安装Anaconda3:
sh Anaconda3-2022.10-Linux-aarch64.sh
安装完成后(base)是Python 3.9的环境。
(2)安装RKNN-Toolkit-Lite2
将rknn-toolkit2-master/rknn_toolkit_lite2/packages/rknn_toolkit_lite2-1.4.0-cp39-cp39-linux_aarch64.whl传输到RK3568的Ubuntu系统上并用pip3安装。
如果系统中没有安装 python3/pip3 等程序,请先通过 apt-get 方式安装,命令如下:
sudo apt update
sudo apt-get install -y python3 python3-dev python3-pip gcc
注意不要使用sudo apt-get update。可能会出现的报错见附录三。
安装依赖模块: opencv-python 和 numpy。
sudo apt-get install -y python3-opencv
sudo apt-get install -y python3-numpy
安装RKNN-Toolkit-Lite2
cd ~/Download/rknn_toolkit_lite2/packages/
pip3 install rknn_toolkit_lite2-1.4.0-cp39-cp39-linux_aarch64.whl
3. 运行测试
cd ~/Downloads/rknn_toolkit_lite2/examples/inference_with_lite/
python3 test.py
运行截图:
附录
一些常见报错的解决方法:
(1)解决ModuleNotFoundError: No module named ‘cv2‘
这个报错是由于opencv版本不匹配导致的,执行命令:
pip install opencv-python
pip install opencv-contrib-python
(2)解决Could not find a version that satisfies the requirement 安装包名字
方法一:pip install 安装包名字 -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com //豆瓣镜像网站
方法二:pip install 安装包名字 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com //豆瓣
方法三:pip install 安装包名字 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn //清华大学
(3)aarch64版本Ubuntu apt-get更换阿里源后更新失败,解决E: Package ‘xxx’ has no installation candidate、E: Failed to fetch http:
修改 /etc/apt/source.list,在链接最后加上-ports:
sudo vi /etc/apt/sources.list
文章来源:https://www.toymoban.com/news/detail-680153.html
(4)scp远程传输文件文章来源地址https://www.toymoban.com/news/detail-680153.html
scp 【本地文件路径】 用户名@服务器名:服务器路径
到了这里,关于DAYU200鸿蒙开发板(RK3568)安装rknn_toolkit_lite2并运行demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!