Orange Pi 5(香橙派 5)YOLOv5 模型部署全流程:PyTorch→ONNX→RKNN 格式转换教程
由于香橙派5搭载 RK3588S芯片,端侧推理要调用NPU算力加速,但是无法直接加载PyTorch的.pt权重文件,所以需要进行模型格式转换与平台适配。
模型转换
在YOLOv5训练环境中将best.pt导出为ONNX。主要解决模型图结构固化与跨框架兼容问题:将PyTorch动态计算图转为静态推理图,后续由RKNN-Toolkit2做解析与平台编译。确保输出张量维度与后处理逻辑保持一致,为下一步编译提供稳定输入。
第一步:先安装 onnx、onnxruntime库(导出必备)
pip install onnx onnxruntime
第二步:安装完成之后输入导出命令
python export.py --weights runs/train/exp/weights/best.pt --img 640 --dynamic --simplify --include onnx
即可在best.pt同目录中生成best.onnx模型。
best.onnx→best.rknn(香橙派部署所需模型)需要在Linux环境下进行,我这边使用的为VMware Workstation Pro虚拟机(Ubuntu20.04系统)。
第三步:进入虚拟机系统之后创建一个空文件夹,并将下面两个资源包(瑞芯微官方模型转换工具)中的内容解压至同一个文件夹中(受上传资源限制,没办法只能分两个上传)
# 创建文件夹(放模型+转换代码)
mkdir rknn_convert
cd rknn_convert
把你转换好的 best.onnx 复制到这个 rknn_convert 文件夹里。
第四步:安装 RKNN Toolkit2 依赖(必须)
sudo apt update
sudo apt install -y python3 python3-pip libglib2.0-dev libsm6 libxrender1 libxext6
安装 RKNN Toolkit2(因为网络下载慢,已经上传至资源包了,前面下载的就是这个工具包,解压即可切记一定要两个文件夹内容放一起)
第五步:编写转换脚本convert.py
touch convert.py
gedit convert.py
from rknn.api import RKNN
# ========== 1. 创建RKNN对象 ==========
rknn = RKNN(verbose=True)
# ========== 2. 配置 ==========
print('--> Config model')
rknn.config(
mean_values=[[0, 0, 0]],
std_values=[[255, 255, 255]],
target_platform='rk3588'#根据你的香橙派处理器型号rk3566/rk3568
)
# ========== 3. 加载ONNX ==========
print('--> Loading ONNX model')
ret = rknn.load_onnx(
model='best.onnx'
)
if ret != 0:
print('❌ Load ONNX failed!')
exit(ret)
# ========== 4. 构建模型 ==========
print('--> Building model')
ret = rknn.build(
do_quantization=False # ⚠ 先不开量化(保证成功)
)
if ret != 0:
print('❌ Build failed!')
exit(ret)
# ========== 5. 导出RKNN ==========
print('--> Export RKNN model')
ret = rknn.export_rknn('best.rknn')
if ret != 0:
print('❌ Export failed!')
exit(ret)
print('✅ SUCCESS: best.rknn generated!')
# ========== 6. 释放 ==========
rknn.release()
然后保存,并执行转换命令
python3 convert.py
转换完成后可以验证一下是否转换成功
python3 -c "from rknn.api import RKNN; r=RKNN(); r.load_rknn('best.rknn'); print('RKNN 模型有效')"
最后即可在文件夹中获得best.rknn,可以直接搬到香橙派中运行
注:该步骤我已经全部跑通,若有步骤不成功或转换过程出现报错,可以在文章下面评论问题,看到之后立即回复
更多推荐


所有评论(0)