环境搭建
- 安装rknn-toolkit2
python
git clone https://github.com/rockchip-linux/rknn-toolkit2.git
cd rknn-toolkit2/packages/x86_64
conda create -n toolkit2 python=3.8
conda activate toolkit2
pip install -r requirement_cpp38.txt
pip install rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- 验证是否安装成功
在 Python 环境中导入 RKNN 模块,检查是否成功:
python
python3 -c "from rknn.api import RKNN; print('RKNN-Toolkit2 导入成功!')"
运行官方提供的测试脚本,验证完整功能:
python
cd rknn-toolkit2/examples/onnx/yolov5
python3 test.py
模型转换
- onnx转rknn
- 参考代码:
- https://github.com/airockchip/rknn_model_zoo/tree/main/examples/yolov8
- python convert.py .../model/yolov8n.onnx rk3588
c++推理
python
1、下载交叉编译工具链
https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
2、解压文件
tar Jxf gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
3、export GCC_COMPILER=~/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu
4、./build-linux.sh -t rk3588 -a aarch64 -d yolov8
python代码推理
python
cd python
# Inference with PyTorch model or ONNX model
python yolov8.py --model_path <pt_model/onnx_model> --img_show
# Inference with RKNN model
python yolov8.py --model_path <rknn_model> --target rk3588 --img_show