背景
-
项目目标是训练yolo26目标检测模型,转化为rknn,并将其部署到rk3588硬件板子中进行推理
-
我们使用训练(yolo26-train)和转化环境(rknn-convert)隔离的方案
训练环境负责训练pt模型,导出onnx模型
转化环境,负责将onnx转化为rknn模型
-
pc环境都使用ubuntu linux环境

安装
1. 创建并激活环境
bash
conda create -n rknn-convert python=3.10 -y
激活
bash
conda activate rknn-convert
2. 降级setuptools
必须优先降级setuptools,rknn2.3.2硬性要求
bash
python -m pip install "setuptools<82"
3. 安装rknn‑toolkit2
安装rknn‑toolkit2‑2.3.2 x86_64 whl
它会自动把 torch/numpy/protobuf 降到它允许的版本
bash
python -m pip install ./rknn_toolkit2-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- 验证rknn导入是否成功
bash
python -c "from rknn.api import RKNN; print('RKNN OK')"
- rknn-toolkit2下载地址
里面包含安装包,默认在这 rknn-toolkit2/rknn-toolkit2/packages/x86_64/
bash
https://github.com/airockchip/rknn-toolkit2
4. 固定ONNX版本
固定onnx版本,onnx转rknn必须
实测,装1.16.1会报错,降级到1.16.0,虽然警告但没问题,可以跑通
bash
pip install onnx==1.16.0 onnxoptimizer==0.2.7 protobuf==4.24.4
5. 核心库版本验证
bash
pip show torch # Version: 2.4.0+cu124
pip show numpy # 1.26.4
pip show protobuf # 4.25.4
pip show rknn‑toolkit2 # 2.3.2