type
status
date
slug
summary
password
tags
category
icon
以下都以yolo的姿态检测模型为例
1、准备需要用的程序
第一个工程:rknn-toolkit2,用于安装模型转换所需环境,github地址:https://github.com/airockchip/rknn-toolkit2/releases
第二个工程:ultralytics_yolov8,(这个用官方的一样)用于pt模型转化为onnx模型,为了在rk板子上部署,官方对模型做了修改,训练好的pt模型放在这个工程中转化为onnx模型,github地址:https://github.com/airockchip/ultralytics_yolov8
第三个工程:rknn_model_zoo,用于onnx模型转rknn模型,github地址: https://github.com/airockchip/rknn_model_zoo/releases
将这三个加压到同一个文件夹下即可
2、环境配置安装(conda)
2.1、conda环境安装
conda安装配置找网上其他教程
conda新建新环境的时候python建议为3.8的稳定版本
2.2、rknn-toolkit环境安装
- cd进入该项目带有requirements依赖文件的路径
- pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/安装依赖包
- pip install rknn_toolkit2-2.1.0+708089d1-cp38-cp38-linux_x86_64.whl安装rknn_tookit的依赖
【注意事项】需要注意python版本,如何使python3.8则安装requirements_cp382.1.0.txt与rknn_toolkit2-2.1.0+708089d1-cp38-cp38linux_x86_64.whl,这些文件名称中的cp38为python3.8的意思,不同python版本安装对应的包,不然会报错
3、pt转onnx
官方方法到处模型
【注意事项1】
注意这句话,results = model.export(format=‘rknn’) ,此处格式虽然是rknn,但是导出的模型为onnx
【注意事项2】
4、onnx转rknn
- cd rknn_model_zoo-2.1.0/examples/yolov8_pose/python
- python convert.py ./yolov8n_pose.onnx rk3588# yolov8s_pose_ultra.onnx为ultra官方下载模型
【遇到问题】下载的ultra官方pt模型,onnx转rknn这一步报错

【解决方案】
netron查看模型,查看最终的输出

修改convert.py中代码,转换成功

具体能不能使用还得看在瑞芯微的板子上运行部署情况
5、参考链接:
- 作者:cherryhua
- 链接:https://blog.cherrylord.com/article/post-59
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。