yolov8_pose.pt模型转yolov8_pose.rknn模型1 前言2 环境安装2.1 conda环境安装2.2 rknn-toolkit环境安装3 pt转onnx4 onnx转rknn5 rknn板子上使用python验证rknn模型使用c部署rknn模型1 前言注意官方有三个工程都比较重要需要在不同工程中完成相应的事情。这些转化操作需要在x86平台完成第一个工程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找个地方创建一个目录project-Toolkit2.1然后将上面的三个工程全部解压到这个目录下2 环境安装建议使用conda环境2.1 conda环境安装conda下载地址官网地址https://www.anaconda.com/products/distribution官网历史版本下载网址https://repo.anaconda.com/archive/官网下载太慢可以使用清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/conda安装教程网上很多这里不再赘述conda环境创建conda create -nmy_env_namepython3.8【注意事项1】Conda创建新环境这一步需要注意一定在创建conda环境时指定python版本我当时就没有指定所以安装报错死活安装不成功【注意事项2】需要注意python版本官方推荐3.8作为一个犟种我偏偏不接受官方的建议我第一次安装的3.12所以作为一个过来人我想说多听老人言或许有好处2.2 rknn-toolkit环境安装cd project-Toolkit2.1/rknn-toolkit2-2.1.0/rknn-toolkit2/packagespip install -r requirements_cp38-2.1.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/pip install rknn_toolkit2-2.1.0708089d1-cp38-cp38-linux_x86_64.whl【注意事项】需要注意python版本如何使python3.8则安装requirements_cp38-2.1.0.txt与rknn_toolkit2-2.1.0708089d1-cp38-cp38-linux_x86_64.whl这些文件名称中的cp38为python3.8的意思不同python版本安装对应的包不然会报错3 pt转onnxcd project-Toolkit2.1/project-Toolkit2.1/ultralytics_yolov8-main看文档重要的事情说三遍文档地址https://github.com/airockchip/ultralytics_yolov8/blob/main/RKOPT_README.zh-CN.md当然我是没有看的我自己写的脚本也可以用from ultralytics import YOLO # Load a model model YOLO(./yolov8s-pose-ultra.pt) # Export the model results model.export(formatrknn)【注意事项1】注意这句话results model.export(format‘rknn’) 此处格式虽然是rknn但是导出的模型为onnx【注意事项2】也可以使用官方方法文档地址https://github.com/airockchip/ultralytics_yolov8/blob/main/RKOPT_README.zh-CN.md文档中介绍的方法4 onnx转rknncd project-Toolkit2.1/rknn_model_zoo-2.1.0/examples/yolov8_pose/pythonpython convert.py ./ws_ultra/yolov8s_pose_ultra.onnx rk3588# yolov8s_pose_ultra.onnx为ultra官方下载模型【遇到问题】下载的ultra官方pt模型onnx转rknn这一步报错【解决方案】netron查看模型修改convert.py中代码转换成功5 rknn板子上使用python验证rknn模型使用c部署rknn模型忙完了更新一下太长了重新写了一篇博文。https://blog.csdn.net/weixin_44190670/article/details/143608414?fromshareblogdetailsharetypeblogdetailsharerId143608414sharereferPCsharesourceweixin_44190670sharefromfrom_link