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

一、环境准备(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=图片
需求留言: