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

相关推荐
冬奇Lab3 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
用户8356290780516 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户8356290780517 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
太阳之子14 小时前
给你的 AI Agent 装一双"能上网冲浪"的眼睛
开源
你好潘先生15 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师15 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码15 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf15 小时前
FastAPI 如何连接 MySQL
后端·python
冬奇Lab1 天前
每日一个开源项目(第148篇):obsidian-skills - Obsidian CEO 亲写的 AI Agent 格式规范,让 Agent 不再破坏你的 Vault
人工智能·开源·资讯
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux