YoloV11的pt模型转rknn模型适用于RK3588等系列

YoloV11环境搭建

下载源码

bash 复制代码
git clone https://github.com/ultralytics/ultralytics.git

mv ultralytics yolov11

cd yolov11/

搭建python环境(以conda为例)

bash 复制代码
#创建conda环境
conda create --name yolov11 python==3.10
#激活
conda activate yolov11

#安装torch cuda版本
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

新建requirements.txt

bash 复制代码
sudo vim requirements.txt
python 复制代码
#requirements.txt
# YOLOv11 官方依赖(仅保留核心必要包,避免冲突)

ultralytics>=8.2.0  # 包含 YOLOv11,直接安装官方最新版

numpy>=1.21.6

opencv-python>=4.6.0

pillow>=9.1.0

安装依赖

bash 复制代码
pip install -r requirememts.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

新建环境测试脚本:test_env.py

bash 复制代码
from ultralytics import YOLO
import os
# 加载 YOLOv11 官方预训练模型(自动下载,首次运行可能需要1-2分钟)
model = YOLO('yolov11n.pt')  # 'yolov11n.pt' 是轻量版,适合快速验证;需要高精度可换 'yolov11x.pt'

# 测试模型(用一张示例图,在线拉取测试图)

results = model('https://ultralytics.com/images/zidane.jpg')  # 在线拉取测试图

# 保存检测结果图片(关键修改:无界面环境用 save() 替代 show())
# 创建输出目录(避免报错)
output_dir = 'yolo_detection_results'

os.makedirs(output_dir, exist_ok=True)

# 保存标注后的图片(文件名:detection_result.jpg,保存到创建的目录中)
save_path = os.path.join(output_dir, 'detection_result.jpg')

results[0].save(save_path)  # 保存图片到本地


print(f"检测完成!结果图片已保存至:{save_path}")

在官方github(https://github.com/ultralytics/ultralytics.git)中下载yolov11n.pt模型,放入到yolov11目录下:

bash 复制代码
wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt

完成后,运行测试环境代码:

bash 复制代码
python3 test_env.py

如果成功弹出识别图片的话,则说明环境配置成功。

Pt格式转rknn格式

首先需要安装rknn-toolkit2,可以直接去rknn-toolkit2的github中单独下载对应的requirements.txt和whl:
rknn-toolkit2/rknn-toolkit2/packages/arm64 at master · airockchip/rknn-toolkit2

bash 复制代码
#下载对应的requirements.txt和whl

#安装requirements.txt
pip install -r requirements_cp310-2.1.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

#安装rknn-toolkit2的whl
pip install rknn_toolkit2-2.1.0+708089d1-cp310-cp310-linux_x86_64.whl

模型转换

bash 复制代码
# Export a YOLO11n PyTorch model to RKNN format # 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118, rv1126b 

yolo export model=yolo11n.pt format=rknn name=rk3588 # creates'/yolo11n_rknn_model'

导出参数

转换成功后,会输出保存的结果:

然后我们可以在对应的路径下拿到模型rknn文件和其对应的metadata.yaml

至此,yolov11的pt转rknn完成。

相关推荐
Byron Loong2 小时前
【机器视觉】YOLO中 P,R,F1曲线的含义
yolo·目标跟踪
@我们的天空2 小时前
【FastAPI 完整版】路由与请求参数详解(query、path、params、body、form 完整梳理)- 基于 FastAPI 完整版
后端·python·pycharm·fastapi·后端开发·路由与请求
nihui1232 小时前
Kali Linux 中 Nmap 工具详细使用指南
linux·网络·web安全
生而为虫2 小时前
34-35.玩转Linux操作系统
linux·运维·服务器
枕咸鱼的猫2 小时前
Linux命令打包/压缩(tar)、通用压缩(zip)详解
linux·运维·服务器
`林中水滴`2 小时前
Linux系列:Ubantu 安装 MySQL 8.0 教程
linux
djimon2 小时前
06年老电脑复活Ubuntu14.04配置Python网站爬自动化
开发语言·python·自动化
你我一见如故2 小时前
Linux基础(4)Linux中的开发工具(1)--yum和vim
linux·服务器·编辑器·vim