YOLO11 在 RK3576 上部署流程(Python 3.8 推荐)
本文档整理了从环境准备到模型推理的完整流程。
备选轻量化版本工具 rknn-toolkit-lite2
192.168.3.102板卡已配置环境
1. 板卡上,环境准备
-
Python 版本 板卡:安装python,sudo apt install *** ,推荐使用 Python 3.8 ,官方文档支持到 Python 3.12。
-
解压并上传必要文件 将以下** 工具 ** 和 ** 示例模型 **文件上传到 RK3576板卡上:
scp ./rknn_model_zoo-2.3.0.zip develop@192.168.3.102:/home/develop/rknn_ai/ scp ./rknn-toolkit2-2.3.0.zip develop@192.168.3.102:/home/develop/rknn_ai/
工具软件https://github.com/airockchip/rknn-toolkit2.git
RKNN_AI_toolkit
示例模型https://github.com/airockchip/rknn_model_zoo/tree/v2.3.0
RKNN_AI_model_zoo
- 解压文件
cd ~/rknn_ai unzip rknn_model_zoo-2.3.0.zip unzip rknn-toolkit2-2.3.0.zip
2. 板卡上,安装 RKNN Toolkit 依赖
- 进入 ARM64 平台依赖目录:
cd ~/rknn_ai/rknn-toolkit2-2.3.0/rknn-toolkit2/packages/arm64
- 板卡上安装依赖:
~/rknn_ai/rknn-toolkit2-2.3.0/rknn-toolkit2/packages/arm64$: pip install -r arm64_requirements_cp38.txt
- 板卡上本地安装 RKNN Toolkit Wheel 包:
~/rknn_ai/rknn-toolkit2-2.3.0/rknn-toolkit2/packages/arm64$: pip install rknn_toolkit2-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
或明确使用本地安装使用 --no-index 禁用网络索引
pip install --no-index rknn_toolkit2-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3. 板卡上,配置系统库
创建系统库目录(如果不存在):
sudo mkdir -p /usr/lib64建立
librknnrt.so软链接到系统库路径:
sudo ln -s ~/rknn_ai/rknn-toolkit2-2.3.0/rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so /usr/lib64/librknnrt.so
刷新动态库缓存:
sudo ldconfig
此命令会重新扫描 /usr/lib64/ 等目录,并更新 /etc/ld.so.cache
验证是否生效
bash ldconfig -p | grep librknnrt.so
如果输出中包含 /usr/lib64/librknnrt.so,说明缓存已更新成功。
4. 准备模型文件
将模型库重命名为简短名称:
必须步骤,代码中会查找不带版本的rknn_model_zoo作为路径
mv ./rknn_model_zoo-2.3.0 ./rknn_model_zoo
下载 YOLO11 示例模型:
git clone https://github.com/airockchip/rknn_model_zoo/tree/v2.3.0
gdp@gdp:~/github/rknn_model_zoo-2.3.0/examples/yolo11/model$ : cd ~/rknn_ai/rknn_model_zoo/examples/yolo11/model chmod +x download_model.sh gdp@gdp:~/github/rknn_model_zoo-2.3.0/examples/yolo11/model$: ./download_model.sh
5. 推理运行
5.1 使用 PyTorch 或 ONNX 模型
x86主机运行
(env_isaaclab) gdp@gdp:~/github/rknn_model_zoo/examples/yolo11/model$: cd ../python (env_isaaclab) gdp@gdp:~/github/rknn_model_zoo/examples/yolo11/python$: python yolo11.py --model_path <pt_model/onnx_model> --img_show ex. python yolo11.py \ --model_path /home/gdp/github/rknn_model_zoo/examples/yolo11/model/yolo11n.onnx \ --img_show
在板卡上,yolo11n.onnx格式转换rknn_model
运行目录((base) develop@SuperShoes:~/rknn_ai/rknn_model_zoo/examples/yolo11/python)下的脚本convert.py
指令如下:
(base) develop@SuperShoes:~/rknn_ai/rknn_model_zoo/examples/yolo11/python$ python convert.py /home/develop/rknn_ai/rknn_model_zoo/examples/yolo11/model/yolo11n.onnx rk3576 fp
转换后,模型自动保存到该目录下(base) develop@SuperShoes:~/rknn_ai/rknn_model_zoo/examples/yolo11/model/yolo11n.onnx
打印脚本使用方法如下:
(base)develop@SuperShoes:~/rknn_ai/rknn_model_zoo/examples/yolo11/python$ python convert.py Usage: python3 convert.py onnx_model_path [platform] [dtype(optional)] [output_rknn_path(optional)] platform choose from [rk3562,rk3566,rk3568,rk3588,rk3576,rk1808,rv1109,rv1126] dtype choose from [i8, fp] for [rk3562,rk3566,rk3568,rk3588,rk3576] dtype choose from [u8, fp] for [rk1808,rv1109,rv1126]
5.2 使用 RKNN 模型
板卡运行 ssh @****** -Y
python yolo11.py --model_path <rknn_model> --target <TARGET_PLATFORM> --img_show ex. (base) develop@SuperShoes:~/rknn_ai/rknn_model_zoo/examples/yolo11/python$ python yolo11.py \ --model_path ~/rknn_ai/rknn_model_zoo/examples/yolo11/model/yolo11.rknn \ --target rk3576 --img_show
⚠ 注意:<rknn_model>替换为实际 RKNN 模型路径,<TARGET_PLATFORM>替换为目标平台,如rk35``7``6或rk3588。
https://github.com/airockchip/rknn-toolkit2.git
https://github.com/airockchip/rknn_model_zoo/tree/v2.3.0
暂时无法在飞书文档外展示此内容
5.3 C++ 验证运行时库
***************************
6 参考
彬烽提供参考 【YOLO11部署至RK3588】模型训练→转换RKNN→开发板部署_yolo11 rknn-CSDN博客