Files
FastDeploy/docs/cn/build_and_install/rknpu2.md
2022-11-14 20:50:01 +08:00

3.2 KiB
Raw Blame History

RK2代NPU部署库编译

写在前面

FastDeploy已经初步支持RKNPU2的部署。使用的过程中如果出现Bug请提Issues反馈。

简介

FastDeploy当前在RK平台上支持后端引擎如下:

后端 平台 支持模型格式 说明
ONNX Runtime RK356X
RK3588
ONNX 编译开关ENABLE_ORT_BACKEND为ON或OFF控制默认OFF
RKNPU2 RK356X
RK3588
RKNN 编译开关ENABLE_RKNPU2_BACKEND为ON或OFF控制默认OFF

C++ SDK编译安装

RKNPU2仅支持linux下进行编译,以下教程均在linux环境下完成。

更新驱动和安装编译时需要的环境

在运行代码之前我们需要安装以下最新的RKNPU驱动目前驱动更新至1.4.0。为了简化安装我编写了快速安装脚本,一键即可进行安装。

方法1: 通过脚本安装

# 下载解压rknpu2_device_install_1.4.0
wget https://bj.bcebos.com/fastdeploy/third_libs/rknpu2_device_install_1.4.0.zip
unzip rknpu2_device_install_1.4.0.zip

cd rknpu2_device_install_1.4.0
# RK3588运行以下代码
sudo rknn_install_rk3588.sh
# RK356X运行以下代码
sudo rknn_install_rk356X.sh

方法2: 通过gitee安装

# 安装必备的包
sudo apt update -y
sudo apt install -y python3 
sudo apt install -y python3-dev 
sudo apt install -y python3-pip 
sudo apt install -y gcc
sudo apt install -y python3-opencv
sudo apt install -y python3-numpy
sudo apt install -y cmake

# 下载rknpu2
# RK3588运行以下代码
git clone https://gitee.com/mirrors_rockchip-linux/rknpu2.git
sudo cp ./rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/* /usr/lib
sudo cp ./rknpu2/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/* /usr/bin/

# RK356X运行以下代码
git clone https://gitee.com/mirrors_rockchip-linux/rknpu2.git
sudo cp ./rknpu2/runtime/RK356X/Linux/librknn_api/aarch64/* /usr/lib
sudo cp ./rknpu2/runtime/RK356X/Linux/rknn_server/aarch64/usr/bin/* /usr/bin/

编译C++ SDK

git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy
mkdir build && cd build

# 编译配置详情见README文件这里只介绍关键的几个配置
# -DENABLE_ORT_BACKEND:     是否开启ONNX模型默认关闭
# -DENABLE_RKNPU2_BACKEND:  是否开启RKNPU模型默认关闭
# -RKNN2_TARGET_SOC:             编译SDK的板子型号只能输入RK356X或者RK3588注意区分大小写
cmake ..  -DENABLE_ORT_BACKEND=ON \
	      -DENABLE_RKNPU2_BACKEND=ON \
	      -DENABLE_VISION=ON \
	      -DRKNN2_TARGET_SOC=RK3588 \
          -DCMAKE_INSTALL_PREFIX=${PWD}/fastdeploy-0.0.3
make -j8
make install

编译Python SDK

Python打包依赖wheel,编译前请先执行pip install wheel

git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy
cd python

export ENABLE_ORT_BACKEND=ON
export ENABLE_RKNPU2_BACKEND=ON
export ENABLE_VISION=ON
export RKNN2_TARGET_SOC=RK3588
python3 setup.py build
python3 setup.py bdist_wheel

cd dist

pip3 install fastdeploy_python-0.0.0-cp39-cp39-linux_aarch64.whl

部署模型

请查看RKNPU2部署模型教程