mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-11-02 04:43:27 +08:00
* 第一次提交 * 补充一处漏翻译 * deleted: docs/en/quantize.md * Update one translation * Update en version * Update one translation in code * Standardize one writing * Standardize one writing * Update some en version * Fix a grammer problem * Update en version for api/vision result * Merge branch 'develop' of https://github.com/charl-u/FastDeploy into develop * Checkout the link in README in vision_results/ to the en documents * Modify a title * Add link to serving/docs/ * Finish translation of demo.md
106 lines
3.4 KiB
Markdown
106 lines
3.4 KiB
Markdown
English | [中文](../../cn/build_and_install/rknpu2.md)
|
|
|
|
# How to Build RKNPU2 Deployment Environment
|
|
|
|
## Notes
|
|
FastDeploy has initial support for RKNPU2 deployments. If you find bugs while using, please report an issue to give us feedback.
|
|
|
|
## Introduction
|
|
Currently, the following backend engines on the RK platform are supported:
|
|
|
|
| Backend | Platform | Model format supported | Description |
|
|
|:------------------|:---------------------|:-------|:-------------------------------------------|
|
|
| ONNX Runtime | RK356X <br> RK3588 | ONNX | Compile switch is controlled by setting `ENABLE_ORT_BACKEND` ON or OFF(default) |
|
|
| RKNPU2 | RK356X <br> RK3588 | RKNN | Compile switch is controlled by setting `ENABLE_RKNPU2_BACKEND` ON or OFF(default) |
|
|
|
|
|
|
## How to Build and Install C++ SDK
|
|
|
|
RKNPU2 only supports compiling on linux, the following steps are done on linux.
|
|
|
|
### Update the driver and install the compiling environment
|
|
|
|
|
|
Before running the program, we need to install the latest RKNPU driver, which is currently updated to 1.4.0. To simplify the installation, here is a quick install script.
|
|
|
|
**Method 1: Install via script**
|
|
```bash
|
|
# Download and unzip 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
|
|
# For RK3588
|
|
sudo rknn_install_rk3588.sh
|
|
# For RK356X
|
|
sudo rknn_install_rk356X.sh
|
|
```
|
|
|
|
**Method 2: Install via gitee**
|
|
```bash
|
|
# Install necessary packages
|
|
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
|
|
|
|
# download rknpu2
|
|
# For 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/
|
|
|
|
# For 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/
|
|
```
|
|
|
|
### Compile C++ SDK
|
|
|
|
```bash
|
|
git clone https://github.com/PaddlePaddle/FastDeploy.git
|
|
cd FastDeploy
|
|
mkdir build && cd build
|
|
|
|
# Only a few key configurations are introduced here, see README.md for details.
|
|
# -DENABLE_ORT_BACKEND: Whether to enable ONNX model, default OFF
|
|
# -DENABLE_RKNPU2_BACKEND: Whether to enable RKNPU model, default OFF
|
|
# -RKNN2_TARGET_SOC: Compile the SDK board model. Enter RK356X or RK3588 with case sensitive required.
|
|
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
|
|
```
|
|
|
|
### Compile Python SDK
|
|
|
|
Python packages depend on `wheel`, please run `pip install wheel` before compiling.
|
|
|
|
```bash
|
|
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
|
|
```
|
|
|
|
## Model Deployment
|
|
|
|
Please refer to [RKNPU2 Model Deployment](../faq/rknpu2/rknpu2.md). |