帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【开发相关】YOLO11教程:如何训练 | 验证 | 测试 自己的数据集源码分享

发表时间:2025-01-16 01:32:56 小编:主机乐-Yutio

???本文内容:如何训练 | 验证 | 测试 自己的数据集

1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

结构图如下:

1.1 C3k2

C3k2,结构图如下

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

实现代码ultralytics/nn/modules/head.py

如何训练模型

代码语言:javascript
AI代码解释
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    #model.load('yolo11n.pt') # loading pretrain weights
    model.train(data='data/InfraRedSmallTarget.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=16,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train-obb',
                name='exp',
                )

如何验证

代码语言:javascript
AI代码解释
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO


if __name__ == '__main__':
    model = YOLO('runs/train/exp/weights/best.pt')
    model.val(data='data/InfraRedSmallTarget.yaml',
              split='val',
              imgsz=640,
              batch=16,
              iou=0.6,
              rect=False,
              save_json=False,
              project='runs/val',
              name='exp',
              )

如何预测单张图片或者整个文件夹图片

代码语言:javascript
AI代码解释
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO


if __name__ == '__main__':
    model = YOLO('runs/train/exp/weights/best.pt')
    model.predict(source='data/images/',
                  imgsz=640,
                  project='runs/detect',
                  name='exp',
                  save=True,
                  conf=0.2,
                  iou=0.7,
                )


联系我们
返回顶部