跳转到内容

YOLO 模型训练 ​

更新: 2026/9/29 字数: 0 字 时长: 0 分钟

本文档详细介绍在 Windows 系统上训练 YOLO 系列模型的完整流程。MacOS 和 Linux 系统的训练方法类似。

YOLO26 ​

YOLO26 支持通过 Ultralytics 统一接口进行训练与断点续训,以下示例基于官方预训练权重进行模型训练。


开始训练 ​

在项目根目录下新建文件:yolo26_train.py

py
from ultralytics import YOLO

if __name__ == "__main__":

    # 加载 YOLO 官方预训练权重模型(请替换为你的模型路径)
    model = YOLO(r"G:\website\yolo\ultralytics-8.3.163\yolo26n.pt")

    model.train(
        data=r"G:\website\yolo\ultralytics-8.3.163\ultralytics\cfg\datasets\coco8.yaml",  # 训练数据集配置文件(自行替换)
        epochs=500,                 # 训练轮数
        imgsz=(640, 320),           # 根据应用场景选择合适的输入尺寸(如竖屏或横屏)
        batch=-1,                   # 自动推荐 batch size(根据显卡自动适配)
        cache='ram',                # 数据缓存方式,加快训练速度
        workers=1,                  # 数据加载线程数
        project="results",          # 结果保存目录
        name="yolo26n"              # 当前任务名称
    )

具体可参阅训练参数说明


继续训练(断点续训) ​

基于已训练生成的权重文件继续训练。

在项目根目录新建文件:yolo26_train_resume.py

py
from ultralytics import YOLO

if __name__ == "__main__":

    # 加载上一次训练生成的模型权重(替换为你的实际路径)
    model = YOLO(r"results/yolo26n/weights/last.pt")

    # 继续训练
    model.train(resume=True)

YOLO13 ​

待补充


YOLO12 ​

参考 YOLO26 的训练方式


YOLO11 ​

参考 YOLO26 的训练方式


YOLOv10 ​

参考 YOLO26 的训练方式


YOLOv9 ​

参考 YOLO26 的训练方式


YOLOv8 ​

参考 YOLO26 的训练方式


YOLOv7 ​

待补充


YOLOv6 ​

待补充


YOLOv5 ​

对于 YOLO26 源码环境,可参考 YOLO26 的训练方法;若使用 YOLOv5 源码环境,训练方式尚未补充,你可以访问其 YOLOv5 GitHub 仓库 查看详情。


YOLOx ​

待补充


批量训练不同版本 ​

用最新版的 YOLO26 源码是可以支持训练 YOLO26、YOLO12、YOLO11、YOLOv10、YOLOv9、YOLOv8、YOLOv5 版本的, 基于哪个 pt 文件训练出来的模型,就是哪个版本模型。

开始训练 ​

在项目根目录新建文件:yolo_train.py

py
from ultralytics import YOLO

# 需要训练的模型列表,请提前下载对应的 `.pt` 模型文件并放置在源码根目录下
models = [
    'yolov8n', 'yolov8s', 'yolov8m',
    'yolov9t', 'yolov9s', 'yolov9m',
    'yolov10n', 'yolov10s', 'yolov10m',
    'yolo11n', 'yolo11s', 'yolo11m',
    'yolo12n', 'yolo12s', 'yolo12m',
    'yolo26n', 'yolo26s', 'yolo26m'
]

if __name__ == "__main__":
    for m in models:
        print(f"\n===== 开始训练模型: {m}.pt =====")
        model = YOLO(m + ".pt")
        model.train(
            data=r"G:\website\yolo\ultralytics-8.3.163\ultralytics\cfg\datasets\coco8.yaml",  # 训练数据集配置文件(自行替换)
            epochs=500,             # 推荐初次可先用较少轮数测试,确认无误后再增加
            imgsz=(640, 320),       # 根据数据形状选择合适的尺寸,例如竖屏
            batch=1,                # 自动推荐 batch size
            cache="ram",            # 数据缓存方式
            workers=1,              # 数据加载线程数
            project="results",      # 结果保存目录
            name=m                  # 输出目录名称与模型名一致
        )
        print(f"===== 完成训练: {m} =====\n")

具体可参阅训练参数说明


继续训练(断点续训) ​

当批量训练过程中中断,或需要在已有训练结果基础上继续训练时,可基于生成的权重文件进行续训。

在项目根目录新建文件:yolo_train_resume.py

py
from ultralytics import YOLO

# 需要继续训练的模型列表(与首次训练保持一致)
models = [
    'yolov8n', 'yolov8s', 'yolov8m',
    'yolov9t', 'yolov9s', 'yolov9m',
    'yolov10n', 'yolov10s', 'yolov10m',
    'yolo11n', 'yolo11s', 'yolo11m',
    'yolo12n', 'yolo12s', 'yolo12m',
    'yolo26n', 'yolo26s', 'yolo26m'
]

if __name__ == "__main__":
    for m in models:
        print(f"\n===== 继续训练模型: {m} =====")

        # 加载上一次训练生成的权重文件
        model = YOLO(f"results/{m}/weights/last.pt")  # 路径根据实际输出目录调整

        # 继续训练
        model.train(resume=True)

        print(f"===== 完成续训: {m} =====\n")

📌 说明:

  • last.pt:上一次训练保存的最新权重
  • resume=True:自动读取上次训练状态(epoch、优化器等)并继续训练
  • 可单独修改 models 列表,仅续训指定模型

训练参数说明 ​

data ​

训练数据集配置文件路径(.yaml)


epochs ​

训练轮数(完整遍历数据集次数)


imgsz ​

输入图像尺寸(支持正方形与矩形)

参数格式:imgsz=(height, width)
即:第一个参数为 高(H),第二个参数为 宽(W)


针对手机端场景重点说明:

✅ 竖屏(手机自动化最常见)

py
imgsz=(640, 320)  # 高 640,宽 320

✅ 横屏

py
imgsz=(320, 640)  # 高 320,宽 640

✅ 通用正方形模型(不推荐用于手机端)

py
imgsz=640  # 等价于 (640, 640)

📌 重要说明:

  • 宽高必须为 32 的倍数(如 320、640、960),否则模型会自动对齐补边,影响性能与精度
  • 输入尺寸越大,推理速度越慢,占用显存越高
  • 手机屏幕通常为长方形,使用正方形尺寸会引入大量无效像素计算

👉 手机端强烈推荐使用 矩形尺寸匹配屏幕比例,可明显提升推理速度并降低资源消耗

📌 建议: 训练时尽量与实际手机截图分辨率比例一致,可获得最佳速度与精度平衡


batch ​

  • -1:自动推荐(GPU环境推荐)
  • 手动设置:1 / 8 / 16

cache ​

  • 'ram':缓存到内存(速度快)
  • False:不缓存

workers ​

数据加载线程数


project ​

结果输出目录


name ​

训练任务名称(子目录名)


训练速度慢如何解决 ​

如果训练速度较慢,通常是由于使用 CPU 或低性能显卡导致,建议采用以下方案:

使用带独立 GPU 的电脑进行训练 ​

推荐使用 NVIDIA 显卡(支持 CUDA),可大幅提升训练速度。
相比 CPU 训练,GPU 训练通常可提升数倍至数十倍速度。


租用云端 GPU 服务器(推荐) ​

可按小时租用 GPU 训练服务器,仅需训练时开启,训练完成后释放资源。

优势:

  • 训练速度快(通常 1~2 小时即可完成常规模型训练)
  • 按小时计费,成本可控
  • 无需本地高性能设备

适合场景:

  • 临时训练
  • 大模型训练
  • 本地设备性能不足