YOLO 模型训练

YOLO 模型训练

YOLO 模型训练 ​ 更新: 2026/3/2 字数: 0 字 时长: 0 分钟

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

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

开始训练 ​在项目根目录下新建文件:yolo26_train.py

pyfrom 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" # 当前任务名称

)1234567891011121314151617具体可参阅训练参数说明

继续训练(断点续训) ​基于已训练生成的权重文件继续训练。

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

pyfrom ultralytics import YOLO

if __name__ == "__main__":

# 加载上一次训练生成的模型权重(替换为你的实际路径)

model = YOLO(r"results/yolo26n/weights/last.pt")

# 继续训练

model.train(resume=True)123456789YOLO13 ​待补充

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

pyfrom 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")123456789101112131415161718192021222324252627具体可参阅训练参数说明

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

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

pyfrom 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")1234567891011121314151617181920212223📌 说明:

last.pt:上一次训练保存的最新权重resume=True:自动读取上次训练状态(epoch、优化器等)并继续训练可单独修改 models 列表,仅续训指定模型训练参数说明 ​data ​训练数据集配置文件路径(.yaml)

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

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

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

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

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

pyimgsz=(640, 320) # 高 640,宽 3201✅ 横屏

pyimgsz=(320, 640) # 高 320,宽 6401✅ 通用正方形模型(不推荐用于手机端)

pyimgsz=640 # 等价于 (640, 640)1📌 重要说明:

宽高必须为 32 的倍数(如 320、640、960),否则模型会自动对齐补边,影响性能与精度输入尺寸越大,推理速度越慢,占用显存越高手机屏幕通常为长方形,使用正方形尺寸会引入大量无效像素计算👉 手机端强烈推荐使用 矩形尺寸匹配屏幕比例,可明显提升推理速度并降低资源消耗

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

batch ​-1:自动推荐(GPU环境推荐)手动设置:1 / 8 / 16cache ​'ram':缓存到内存(速度快)False:不缓存workers ​数据加载线程数

project ​结果输出目录

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

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

使用带独立 GPU 的电脑进行训练 ​推荐使用 NVIDIA 显卡(支持 CUDA),可大幅提升训练速度。 相比 CPU 训练,GPU 训练通常可提升数倍至数十倍速度。

租用云端 GPU 服务器(推荐) ​可按小时租用 GPU 训练服务器,仅需训练时开启,训练完成后释放资源。

优势:

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

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

相关推荐

为什么足彩合法赌球就不行?看完你就懂了
365bet足球现金

为什么足彩合法赌球就不行?看完你就懂了

📅 09-03 👁️ 1788
V2ray 机场推荐 (2025年12月更新)
365bet足球现金

V2ray 机场推荐 (2025年12月更新)

📅 12-02 👁️ 1965
《说文解字》第928课:古代与“角”相关的酒器
365bet体育投注

《说文解字》第928课:古代与“角”相关的酒器

📅 12-29 👁️ 8756