Yolov5是一个独立的项目,Yolov8/v11/v26是一个统一的Python库
v8/v11/v26的库是同一个,与v5的使用方法一致,不同的版本只需要替换掉pt模型即可
一、环境搭建
建议使用Python 3.11 版本
数据集的制作可以看之前的文章,后期还会出一期seg多边形的数据集制作教程
创建环境:conda create -n yoloUltralytics python=3.11 激活环境:conda activate yoloUltralytics 安装yolo环境:pip install -U ultralytics 验证环境:yolo predict model=模型版本.pt source='图片地址或0自己的本机摄像头'二、创建项目目录
1、创建一个空项目目录 2、使用创建的conda空间三、数据集yaml
# 数据集的根目录 path: /Users/wangqingpan/Desktop/hmbaby/hf # 训练集图片路径 train: train/images # 验证集图片路径 val: val/images # 测试集图片路径 test: test/images # 目标种类 names: 0: shou 1: jiao四、模型训练与验证
# -*- coding: utf-8 -*- # 训练脚本 import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO # 加载模型 model = YOLO("../pt/yolo26s.pt") model.train( data='yaml/water.yaml', # 数据集配置文件 imgsz=640, # 训练图像尺寸 epochs=100, # 训练轮数 batch=100, # 批处理大小 workers=4, # 工作线程数,默认为8 device='', # 可运行的设备类型('cpu', 0, [0,1,2,3]),留空自动选择、 close_mosaic=10 # 最后10轮关闭马赛克增强,有利于模型收敛 ) # 评估模型在验证集上的表现 metrics = model.val()五、使用训练好的模型识别
# -*- coding: utf-8 -*- # 使用训练好的模型识别 import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO model = YOLO("runs/detect/train-3/weights/best.pt") model.predict( source='0', # 数据图像来源 save=True, # 保存推理结果 show=True # 显示窗口 )六、输出ONNX
# -*- coding: utf-8 -*- # 将训练好的模型转换为onnx格式 import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO # 加载模型 model = YOLO("runs/detect/train-2/weights/best.pt") # 模型导出为onnx path = model.export(format="onnx",simplify=True)