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完成。

相关推荐
JustHappy几秒前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源
hweiyu009 分钟前
Linux 命令:tr
linux·运维·服务器
玩大数据的龙威12 分钟前
农经权二轮延包—各种地块示意图
python·arcgis
Trouvaille ~12 分钟前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
ZH154558913113 分钟前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
allway218 分钟前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
CSCN新手听安18 分钟前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
杜子不疼.20 分钟前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
belldeep23 分钟前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
喵手23 分钟前
Python爬虫实战:电商价格监控系统 - 从定时任务到历史趋势分析的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·电商价格监控系统·从定时任务到历史趋势分析·采集结果sqlite存储