注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
LitchiCheng的个人空间 https://home.eeworld.com.cn/space-uid-1003127.html [收藏] [复制] [分享] [RSS]
日志

YOLOv12 训练实战,train.py 常用参数介绍

已有 93 次阅读2025-4-6 23:35 |个人分类:图像识别

 

 

视频讲解:


 

前几期的视频介绍了数据标注、数据集准备以及yolov12的环境准备,今天开始训练

首先创建训练脚本,完整代码如下

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO(model=r'yolov12s.pt')
    model.train(
        # 指定数据集的配置文件路径,该文件包含了训练集、验证集的路径以及类别信息等
        data=r'/home/dar/dev/yolo/dataset/gesture/num_gesture/data.yaml',
        # 输入图像的尺寸大小,这里将所有输入图像调整为 640x640 像素
        imgsz=640,
        # 训练的总轮数,即整个数据集会被模型遍历 50 次
        epochs=50,
        # 每个批次中包含的图像数量,该值需要根据显存大小进行调整,避免显存溢出
        batch=32, 
        # 用于数据加载的工作线程数量,设置为 0 表示使用主线程进行数据加载
        workers=0,
        # 指定用于训练的设备,0 表示使用第一块 GPU 进行训练,如果是多 GPU 系统,可通过修改该值选择不同的 GPU
        device='0',
        # 选择的优化器,这里使用随机梯度下降(SGD)优化器来更新模型的参数
        optimizer='SGD',
        # 在训练的最后 10 个 epoch 关闭 mosaic 数据增强方法,mosaic 是一种将多张图像拼接在一起进行训练的增强技术
        close_mosaic=10,
        # 是否从上次中断的位置继续训练,设置为 False 表示不继续,而是从头开始训练
        resume=False,
        # 训练结果(如模型权重、日志等)保存的项目目录
        project='runs/train',
        # 本次训练的名称,会作为项目目录下的子目录名,用于区分不同的训练实验
        name='exp',
        # 是否将所有类别视为一个单一类别进行训练,设置为 False 表示不使用单类别训练模式
        single_cls=False,
        # 是否开启数据缓存,开启后会将处理过的数据缓存起来,以加快后续训练的速度,但会占用一定的磁盘空间,设置为 False 表示不开启
        cache=False,
    )

过滤warning

warnings.filterwarnings('ignore')

指定data.yaml文件路径,前面视频创建的yaml文件

 

 

/home/dar/dev/yolo/dataset/gesture/num_gesture/data.yaml

如果内存炸了,就把这个降低

batch=32,

指定使用哪个gpu,也可以同时用多个,比如'0,1,2',就是用三块gpu

device='0',

出现训练中断,如果想要继续,将resume改成True

model = YOLO(model=r'runs/train/exp/weight/last.pt') 
resume=True

训练开始

 

 

 

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章