华北地区负责人:17340067106(毛经理)
华东地区负责人:17358670739(甘经理)
华南、华西地区负责人:19113907060(耿女士)
软件算法咨询:18982151213(刘先生)

联系我们
产品咨询

YOLOv8 训练自定义数据集 完整步骤(新手零失败)

作者:万物纵横
发布时间:2026-04-20 09:14
阅读量:

我给你整理了最简单、最实用、直接能跑的 YOLOv8 自定义数据集训练教程,全程基于官方 ultralytics 库,不用复杂配置,新手也能一次成功。


YOLOv8 训练自定义数据集 完整步骤(新手零失败)(图1)


一、环境准备(1 分钟搞定)

1. 安装 Python

推荐:Python 3.8 ~ 3.11

2. 安装 PyTorch(必须先装)

进入 PyTorch 官网 复制对应你系统的命令,例如:

# CPU 版本(测试用)

pip3 install torch torchvision torchaudio


# GPU 版本(推荐,训练更快)

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

3. 安装 YOLOv8

pip install ultralytics

安装完成后,输入以下命令验证:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

能出结果就说明环境正常。

二、数据集格式(最重要!必须严格按这个来)

YOLOv8 使用 YOLO 格式,文件夹结构必须如下:

你的数据集文件夹/
├── images/
│   ├── train/       # 训练图片(.jpg/.png)
│   └── val/         # 验证图片
└── labels/
   ├── train/       # 训练标签(.txt,和图片同名)
   └── val/         # 验证标签

标签文件规则(.txt)

每一行代表一个目标:

类别ID 中心x 中心y 宽度w 高度h

坐标都是归一化到 0~1 的小数

类别 ID 从 0 开始编号

示例:

0 0.5 0.6 0.2 0.3

1 0.2 0.4 0.15 0.25

三、创建数据集配置文件(.yaml)

在项目根目录新建一个 my_data.yaml 文件,内容如下:

# 数据集路径(必须写绝对路径!)

path: D:/my_dataset# 你的数据集根目录

train: images/train# 训练集相对 path 的路径

val: images/val# 验证集相对 path 的路径


# 类别数量

nc: 2# 你有几类就改几,例如 1、3、5...


# 类别名称(顺序必须和标签 ID 对应)

names:

0: cat

1: dog

四、开始训练(一行命令)

最简训练命令(直接复制改路径就能用)

yolo task=detect mode=train model=yolov8s.pt data=my_data.yaml epochs=100 imgsz=640 batch=8

参数说明

model=yolov8s.pt:模型大小(n/s/m/l/x),s 适合新手

data=my_data.yaml:你的数据集配置文件

epochs=100:训练轮数(至少 50~100)

imgsz=640:图片尺寸

batch=8:批次大小(显存小就改 2、4)

训练成功标志

控制台会输出:

mAP@0.5

损失值下降

自动保存最优模型

五、训练完怎么用(预测 / 推理)

yolo predict model=runs/detect/train/weights/best.pt source=测试图片路径

六、常见问题(必看)

1. 路径报错

全部使用英文路径 + 绝对路径,不要有中文、空格。

2. 标签不匹配

图片和标签同名

标签在 labels/train 和 labels/val

类别数量 nc 必须正确

3. 显存不足

改小 batch:batch=2

改小模型:yolov8n.pt

改小尺寸:imgsz=480

4. 效果差

每类至少 100~300 张图

标注要准确

训练轮数 >= 100

七、完整训练流程总结

1. 安装环境 → pytorch + ultralytics

2. 整理数据集 → images + labels 结构

3. 写 yaml 配置文件 → 路径、类别数、类别名

4. 一行命令训练

5. 用 [best.pt](best.pt) 做预测

总结

环境:pip install ultralytics

数据集:严格 YOLO 目录格式

配置:my_data.yaml 指定路径和类别

训练:yolo train model=yolov8s.pt data=my_data.yaml

预测:yolo predict model=best.pt source=图片

- END -
分享:
留言 留言 试用申请
产品咨询 产品咨询 硬件设备咨询
华北地区负责人:17340067106(毛经理)
华东地区负责人:17358670739(甘经理)
华南、华西地区负责人:19113907060(耿女士)
技术咨询 技术咨询 软件算法咨询
18982151213(刘先生)
微信在线客服 微信在线客服 在线客服
返回官网顶部 返回官网顶部 回到顶部
关闭窗口
产品订购
  • *

  • *

  • *

  • *

  • *