YOLO图像识别训练参数

YOLO图像识别训练参数

1、训练代码中参数

代码示例:

yaml_yolov8 = 'ultralytics/cfg/models/v8/yolov8m.yaml'

model = YOLO(yaml_yolov8)

data_path = r'config\traindata.yaml'

name = os.path.basename(yaml_yolov8).split('.')[0]

# 文档中对参数有详细的说明

model.train(data=data_path,  # 数据集

            imgsz=640,  # 训练图片大小

            epochs=200,  # 训练的轮次

            batch=2,  # 训练batch

            workers=0,  # 加载数据线程数

            device=device,  # 使用显卡

            optimizer='SGD',  # 优化器

            project='runs/train',  # 模型保存路径

            name=name,  # 模型保存命名

            )

1.1、yolov8m.yaml

选择yolov8m作为超参传入。网络层数在295层

1.2、model.train:data=data_path

定义了数据集路径,包括了根路径(path)、训练集(train)、验证集(val)、测试集(test)如:

path: D://python//ultralytics-main//dataset//yolo

train: # train images (relative to 'path')  16551 images

  - train

val: # val images (relative to 'path')  4952 images

  - val

test: # test images (optional)

  - test

定义了分类的详细情况:如

names:

  0: helmet

  1: head

1.3、model.train:igmsz=640

定义了训练的图片大小。

1.3.1 、常见设置

小目标检测用igmsz=1024(如遥感图像中的车辆、行人等)

通用目标检测用igmsz=640(如交通监控中的车辆)

实时检测用416或320(如无人机或摄像头实时检测)

1.3.2、imgsz的作用
  1. 影响模型性能:大的imgsz会保存图片更多细节,有助于小目标检测,同理小的imgsz会导致小目标丢失使效果变差
  2. 影响推理速度:imgsz 越大,模型的计算量越大,推理速度越慢。实时性:对于实时检测任务(如视频流处理),通常需要较小的 imgsz 以保证推理速度。
  3. 影响内存占用大小:显存占用:imgsz 越大,输入图像占用的显存越多,可能导致 GPU 内存不足(OOM)。批量大小:较大的 imgsz 会减少单次推理或训练的批量大小(batch size)。
1.3.3 模型性能

验证集表现:在验证集上测试不同 imgsz 的模型性能(如 mAP),选择性能最佳的 imgsz。

推理速度:测试不同 imgsz 的推理速度(FPS),选择满足实时性要求的 imgsz。

1.3.4、 imgsz 的调整策略

(1)从默认值开始

初始可以使用 YOLO 的默认 imgsz(如 640),观察模型性能和推理速度。

如果默认值无法满足需求,再逐步调整。

(2)逐步调整

如果需要更高的检测精度,可以逐步增加 imgsz(如从 640 增加到 1024)。

如果需要更快的推理速度,可以逐步减小 imgsz(如从 640 减小到 416)。

(3)验证集测试

在验证集上测试不同 imgsz 的模型性能(如 mAP),选择性能最佳的 imgsz。

1.4、model.train:epochs=100
1.4.1、epochs 的作用

定义:1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值