YOLOv8(如何进行训练和验证)

部署运行你感兴趣的模型镜像

YOLOv8 :

和 YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求

因为之前的yolov3、v5都有train.py、val.py,但是到v8主要采用命令行输入,然后我感觉命令行运行比较麻烦,特别是改参数的时候。
在这里主要讨论一下,关于yolov8如何新建train.py和val.py进行训练以及验证。

训练-新建train.py

import warnings
warnings.filterwarnings('ignore') #消除一些无用的警告
from ultralytics import YOLO
if __name__ == '__main__':
    model = YOLO('D:\\js\\yolov8-main\\ultralytics\\cfg\models\\v8\\MUF-yolov8s-DWFasterNet-2.yaml')
    #model = YOLO('yolov8s.pt')
    results = model.train(data='D:\\js\\yolov8-main\\GC10_yolov5\\GC10-DET.yaml', epochs=200, batch = 8, workers = 8)

  • 💡windows系统下,如果想设置workers不为0,那么就需要加上 if name == ‘main’ ,否则会报错。

验证-新建val.py

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
    model = YOLO(r'runs\detect\\train2\weights\best.pt')  #输入训练好的权重文件路径
    model.val(data='mydata\\neu.yaml',
              #data = 'GC10_yolov5\\GC10-DET.yaml', #数据集路径
              split='val',
              batch=8,
              # rect=False,
              # save_json=True, # if you need to cal coco metrice
              project='runs/val',
              name='exp',
              )

总结🐱‍🏍

使用train.py,val.py进行模型训练以及验证,个人认为比较方便。初学v8的时候,对于命令行输入感觉很麻烦也很蒙圈,因此记录一下,希望对一些初学者有所帮助!

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

<think>好的,我现在需要处理用户关于YOLOv8训练验证集的设置使用方法的问题。首先,我需要回忆YOLOv8的相关知识,并确保信息准确。用户可能已经了解了一些基本概念,比如训练集、验证测试集的作用,但具体到YOLOv8的配置,可能需要详细步骤。 首先,数据集的划分比例通常是用户关心的,常见的如7:2:1或8:1:1。我需要明确YOLOv8支持的数据目录结构,比如必须的imageslabels文件夹,以及train、val、test子目录。然后,配置数据YAML文件是关键,用户需要指定路径类别信息。这里可能需要引用提供的参考文献中的例子,比如引用[2]中的7个类别划分。 接下来,训练时的命令行参数设置,比如指定数据YAML文件、输入大小、训练轮数等。这部分需要给出具体的命令示例,帮助用户直接应用。验证集的使用方法包括在训练中自动验证单独验证,需要说明如何操作。 另外,用户可能遇到的常见问题,比如过拟合或欠拟合的调整方法,需要简要提及。同时,结合参考文献中的信息,强调合理划分数据集的重要性,如引用[1]中提到的划分方法引用[2]中的具体数据集结构。 最后,生成的相关问题要覆盖数据准备、参数调整、应用场景等,确保用户能进一步探索。需要检查回答是否符合格式要求,如使用正确的中文表达、LaTeX格式无误,以及引用标识的正确添加。</think>### YOLOv8训练集与验证集设置及使用方法 #### 一、数据集配置要求 1. **目录结构规范** YOLOv8要求数据集按以下结构组织: ``` dataset/ ├── images/ │ ├── train/ # 训练集图片 │ ├── val/ # 验证集图片 │ └── test/ # 测试集图片 └── labels/ ├── train/ # 训练集标签 ├── val/ # 验证集标签 └── test/ # 测试集标签 ``` 数据集划分比例建议为$7:2:1$(如引用[2]的苹果病害数据集)或$8:1:1$[^2]。 2. **数据YAML文件** 需创建`.yaml`配置文件,指定路径与类别: ```yaml path: ./dataset train: images/train val: images/val test: images/test # 可选 names: 0: disease_A 1: disease_B ... # 类别数量需与标签文件一致 ``` #### 二、训练参数设置 通过命令行启动训练: ```bash yolo detect train data=your_data.yaml model=yolov8n.pt imgsz=640 epochs=100 ``` - `imgsz`: 输入图像尺寸(支持$640\times640$等方形分辨率) - `batch`: 批次大小,建议根据GPU显存调整(默认$16$) - `pretrained`: 是否加载预训练权重(默认`True`) #### 三、验证集使用场景 1. **训练中自动验证** 每轮训练结束后会自动在验证集上计算指标如$mAP@0.5$、$mAP@0.5:0.95$。 2. **单独验证模式** 使用训练好的模型进行性能评估: ```bash yolo detect val model=best.pt data=your_data.yaml ``` #### 四、调优建议 - **过拟合处理**:增加验证集比例至$30\%$,添加数据增强(旋转、裁剪等) - **欠拟合处理**:减少验证集比例至$10\%$,增加训练轮数 - **早停机制**:设置`patience=10`当验证指标连续10轮无改进时终止训练
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值