YOLO11 语句整理

简介: 本内容介绍基于YOLOv11模型的开发流程,涵盖模型下载、安装依赖库、训练与推理、模型转换为OpenVINO格式及部署。通过Ultralytics工具包实现模型加载、训练和预测,并使用OpenVINO优化推理性能。此外,提供数据集划分方法,按指定比例生成训练集、验证集和测试集,确保数据准备规范化,提升模型训练效果与实用性。

SDK模型下载

pip install ultralyticsFrom modelscope import snapshot_download
Model_dir = snapshot_download(‘yolo_master/YOLO11’)

库安装

pip install openvino

拷贝字体文件

cp Arial.Unicode.ttf /root/.config/Ultralytics

加载、训练模型

from ultralytics import YOLO
model = YOLO("yolo11s.pt")
model.train(data="coco128.yaml", epochs=200, imgsz=640, worker=8)

模型运行

from ultralytics import YOLO
model = YOLO("best2.pt")
results = model("0.jpg")
results[0].show()

模型转换OPENVINO

from ultralytics import YOLO
model = YOLO("best.pt")
model.export(format="openvino")

部署OPENVINO

from ultralytics import YOLO
from pathlib import Path
import torch,time
import openvino as ov
import cv2

model_path = Path(r"./best_openvino_model/best.xml")
image_path = r"./0.jpg"

用Ultralytics工具包API实现yolov11模型推理程序

yolo11 = YOLO("best.pt", task="detect")
yolo11(image_path)

使用OpenVINO实现推理计算

core = ov.Core()
device = "CPU"
config = {"PERFORMANCE_HINT": "LATENCY"}

编译模型到CPU上

compiled_model = core.compile_model(model_path, device, config)

替代yolov11的原生推理计算方法

def ov_infer(*args):
result = compiled_model(args)
return torch.from_numpy(result[0])

yolo11.predictor.inference = ov_infer

执行基于OpenVINO的推理计算, 并复用YOLOV11的原生前后处理程序

img = cv2.imread(image_path)
img = cv2.resize(img, (640, 640))
yolo11.predict(img)

time.sleep(6)

第二部分: 将数据集随机划分为训练集和验证集,测试集

import os
import random
import shutil

from tqdm import tqdm

image_path = r"./Images//" # 源图片文件夹路径
mask_path = r"./Labels//" # 标签文件夹路径

train_images = r"./datasets2/images/train" # 划分后训练集图片的保存路径
train_labels = r"./datasets2/labels/train"
val_images = r"./datasets2/images/val"
val_labels = r"./datasets2/labels/val"

if not os.path.exists(train_images):
os.makedirs(train_images)
if not os.path.exists(train_labels):
os.makedirs(train_labels)
if not os.path.exists(val_images):
os.makedirs(val_images)
if not os.path.exists(val_labels):
os.makedirs(val_labels)

train_rate = 0.8 # 自定义抽取图片的比例,比方说100张抽10张,那就是0.1
val_rate = 0.2
test_rate = 0.0

求训练集

pathDir = os.listdir(image_path) # 取图片的原始路径
print('数据集总共有图片:', len(pathDir))
print(
'划分比例如下:训练集:{},验证集:{},测试集:{}'.format(int(len(pathDir) train_rate), int(len(pathDir) val_rate),
int(len(pathDir) test_rate)
)) # ,测试集:{} int(len(pathDir)
test_rate)
picknumber = int(len(pathDir) * train_rate) # 按照rate比例从文件夹中取一定数量图片
train_sample = random.sample(pathDir, picknumber) # 随机选取picknumber数量的样本图片
print('训练集的大小为:', len(train_sample))

复制为训练集

for name in tqdm(train_sample):
if os.path.isfile(image_path + name):
shutil.copy(image_path + name, train_images + "//" + name)
shutil.copy(mask_path + name[:-3] + "txt", train_labels + "//" + name[:-3] + "txt")

求出原数据集不含训练集

all_images = os.listdir(image_path)
val_sample = []
for file in all_images:
if file not in train_sample:
val_sample.append(file)
print('验证集的大小为:', len(val_sample))

复制为验证集

for file in tqdm(val_sample):
shutil.copy(image_path + file, val_images + "/" + file)
shutil.copy(mask_path + file[:-3] + "txt", val_labels + "/" + file[:-3] + "txt")

相关文章
|
人工智能 API 开发工具
YOLOV11 使用流程
本内容整理了YOLO V11的常用代码语句,涵盖YOLO模型下载、数据集划分、模型训练与推理优化等关键步骤,适用于目标检测任务。
|
人工智能 计算机视觉 Python
【YOLOv8-Seg】实战二:LabVIEW+OpenVINO加速YOLOv8-seg实例分割
【YOLOv8-Seg】实战二:LabVIEW+OpenVINO加速YOLOv8-seg实例分割
1030 0
【YOLOv8-Seg】实战二:LabVIEW+OpenVINO加速YOLOv8-seg实例分割
|
存储 JavaScript 编译器
玩转vitepress1.0,搭建个人网站~
当初1月份的时候为了后续春招求职,就使用vitepress搭建了一个个人网站,然后把自己本地的一些md文件整理了发布在了上面,不过当时vitepress还未发布正式版本,还是0.22.x这样的版本, 所以其实有很多不满意的地方,比如侧边栏折叠之前没有,明暗模式之前没有,单篇文章的大纲好像也没有,侧边栏在不同tab下有问题,这些我不太确定,可能功能是有的,但是官方文档上没更新罢了
890 0
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
JavaScript 搜索推荐 程序员
Vuepress + gitee五分钟免费搭建个人博客(保姆级教程)
前言 作为一个程序员,没有折腾过个人博客是不算完整的。技术文章的输出是我们程序员能力的一种体现,也是一种非常好的个人总结。 市面上有很多搭建个人博客的工具或框架,包括hexo、wordpress等等。不可否认,市面上有些博客系统做得很好,博客主题也很丰富,但是往往存在一个问题:比较重。 作为一个Vue程序员,我就比较推荐使用vuepress搭建个人博客,因为它毕竟是Vue出品的,大家熟知的vue官方就是利用vuepress搭建的。 本篇文章就从零开始教大家搭建一个免费的博客,零基础小白也可以学习哦!
4012 0
Vuepress + gitee五分钟免费搭建个人博客(保姆级教程)
|
9月前
|
API Python
利用openvino模型推理图片
本文介绍了如何使用 OpenVINO 格式模型文件对图片进行推理。通过将训练好的模型转换为 OpenVINO 格式,可实现跨设备部署。文中详细展示了利用 Python 和 OpenVINO API 完成模型加载、编译及推理的步骤。核心代码包括初始化 OpenVINO 模型、设置预测参数(如置信度和 IoU 阈值)以及对图片进行检测并显示结果。注意:OpenVINO 模型文件需完整存放于同一目录下,路径需正确配置,参数可根据模型性能调整。
|
计算机视觉
pyt魔搭训练常用代码
本文分享了在魔搭社区进行目标检测训练的经验与代码,涵盖数据解压、配置文件设置、模型训练及格式转换等关键步骤,助力快速上手YOLO模型训练。
|
9月前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
9215 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
Python
OSError: cannot open resource
【9月更文挑战第20天】
928 3