目录
1、前言
开发版:firefly rk3588J
系统:openEuler 20.03 LTS
2、创建python环境
下载 Miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
安装 conda
bash Miniconda3-latest-Linux-aarch64.sh
安装过程中注意设置安装路径,避免后期磁盘爆炸
设置tmp盘,防止系统盘空间不够
创修tmp目录,如下,其中xxx为用户目录,可根据自己实际情况设置
cd /userdata/xxx && mkdir tmp
sudo chmod -R 777 /userdata/xxx/tmp
改环境变量sudo vim ~/.bashrc,添加如下内容,保存退出后执行source ~/.bashrc即可。
export TMPDIR=/userdata/xxx/tmp:$TMPDIR
创建conda环境
conda create --name rknn python=3.9
conda activate rknn
安装RKNN Toolkit2
git clone https://gitcode.com/mirrors/rockchip-linux/rknn-toolkit2.git
cd rknn-toolkit2/rknn_toolkit_lite2/packages
pip install rknn_toolkit_lite2-1.5.2-cp39-cp39-linux_aarch64.whl -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
cd ~/Downloads && git clone https://gitcode.com/mirrors/rockchip-linux/rknpu2.git(下载rknpu2项目到Downloads目录)
sudo cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknn* /usr/lib(复制.so文件,确保python调用npu)
python 环境查看是否安装成功 from rknn.api import RKNN
3、测试RKNN模型
测试案例在examples/inference_with_lite目录下。
cd ~/Downloads/rknn-toolkit2/rknn_toolkit_lite2/examples/inference_with_lite
python test.py
由于权限不够,运行结果如下
sudo -E 虚拟环境中的python test.py,则执行成功
编译测试:
cd /.../rknpu2/examples/rknn_yolov5_demo
bash build-linux_RK3588.sh
运行
cd /.../rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux
sudo ./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ./model/bus.jpg
执行结果如下,表明安装成功
备注:
如果报如下错误,修改执行权限,如果还不能解决,可能是缺少NPU驱动,需要重新升级固件
--------20231226-----------
4、相关问题
在某些程序上rknn-toolkit2-1.5.0 运行有问题,这里切换到1.4
cp rknpu2/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server
cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so