安装Conda工具
安装 Miniforge Conda
wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
chmod 777 Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh
source ~/miniforge3/bin/activate # Miniforge 安装的目录
# 创建名称为 toolkit2 的 Python 3.8 环境
conda create -n toolkit2 python=3.8
# 激活toolkit2环境
conda activate toolkit2
工程代码下载
# 新建 Projects 文件夹
mkdir Projects
# 进入该目录
cd Projects
# 下载 RKNN-Toolkit2 仓库
git clone https://github.com/airockchip/rknn-toolkit2.git --depth 1
# 下载 RKNN Model Zoo 仓库
git clone https://github.com/airockchip/rknn_model_zoo.git --depth 1
# 下载 rknn-llm 仓库
git clone https://github.com/airockchip/rknn-llm.git --depth 1
确认板端环境
安装依赖环境以及YOLOv5运行
# 安装依赖库和 RKNN-Toolkit2
# 进入 rknn-toolkit2 目录
cd Projects/rknn-toolkit2/rknn-toolkit2
# 请根据不同的 python 版本,选择不同的 requirements 文件
# 例如 python3.8 对应 requirements_cp38.txt
pip install -r packages/requirements_cpxx.txt
# 安装 RKNN-Toolkit2
# 请根据不同的 python 版本及处理器架构,选择不同的 wheel 安装包文件:
# 其中 x.x.x 是 RKNN-Toolkit2 版本号,cpxx 是 python 版本号,请根据实际数值进行替换
pip install packages/rknn_toolkit2--x.x.x-cpxx-cpxx-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 验证是否安装成功
# 进入 Python 交互模式
python
# 导入 RKNN 类
from rknn.api import RKNN
# 更新包列表
sudo apt update
# 安装 cmake
sudo apt install cmake
# 进入 rknpu2 目录
cd Projects/rknn-toolkit2/rknpu2
# 推送 rknn_server 到板端
# 注:在64位Linux系统中,BOARD_ARCH对应a
# adb push runtime/Linux/rknn_server/${BOARD_ARC
adb push runtime\Linux\rknn_server\aarch64\usr\bin\rknn_server /usr/bin
adb push runtime\Linux\rknn_server\aarch64\usr\bin\start_rknn.sh /usr/bin
adb push runtime\Linux\rknn_server\aarch64\usr\bin\restart_r knn.sh /usr/bin
# 推送 librknnrt.so
# adb push runtime/Linux/librknn_api/${BOARD_ARC
adb push runtime\Linux\rlibrknn_api\aarch64\librknnrt.so / usr/lib
# 进入板端
adb shell
# 赋予可执行权限
chmod +x /usr/bin/rknn_server
chmod +x /usr/bin/start_rknn.sh
chmod +x /usr/bin/restart_rknn.sh
# 重启 rknn_server 服务
restart_rknn.sh
RKNN C Demo 使用方法
准备模型
# 进入 rknn_model_zoo/examples/yolov5/model 目录
cd Projects/rknn_model_zoo/examples/yolov5/model
# 运行 download_model.sh 脚本,下载 yolov5 onnx 模型
# 例如,下载好的 onnx 模型存放路径为 model/yolov5s_relu.onnx
./download_model.sh
模型转换
# 进入 rknn_model_zoo/examples/yolov5/python 目录
cd Projects/rknn_model_zoo/examples/yolov5/python
# 运行 convert.py 脚本,将原始的 ONNX 模型转成 RKNN 模型
# 用法: python convert.py model_path [rk3566|rk3588|rk3562] [i8/fp] [output_path]
python convert.py ../model/yolov5s_relu.onnx rk3576 i8 ../model/yolov5s_relu.