YOLOv8-TRAIN
训练基本信息
- 模型类型:YOLOv8?
- 训练数据量:训练集图片数、验证集图片数、类别数
- 训练参数:epochs、batch size、输入尺寸(imgsz)、设备(CPU/GPU)
- 训练时长:总时间、平均每轮时间
数据集结构
images(图片)
-train
-val
labels(标注)
-train
-val
data_yolo.yaml
![[data_yolo.yaml]]
```yaml
path: /Users/ryan-hong/Desktop/OD_lowf/data_yolo # 根目录(可选)
train: images/train
val: images/val
nc: 4 # 类别数量,根据你的categories决定
names: ['ship', 'people', 'car', 'motor'] # 替换为你自己的类别名
```
训练代码框架
```
from ultralytics import YOLO
m1=YOLO('yolov8l.pt') #‘’中为模型的路径
m1.train(
data=r'/Users/ryan-hong/Desktop/OD_lowf/data_yolo.yaml',
epochs=100, # 可根据收敛情况提升
imgsz=640, # 默认图像尺寸
batch=16, # Y9000P 性能允许,推荐 16 或 32
device=0, # 使用 GPU(device=0 表示第一块显卡)
workers=8, # 加速数据加载,多线程相关,性能不足时最好别开
name='yolov8l-custom', # 结果文件夹名
save=True,
save_period=5,
val=True,
patience=10
)
```
### 模型结果
```
runs/
└── detect/
└── train/ ← 本次训练生成的主文件夹(可能是 train2、train3)
├── weights/
│ ├── best.pt ← 精度最好的模型权重(mAP50-95 最优)
│ └── last.pt ← 最后一个 epoch 的模型权重
│
├── confusion_matrix.png ← 混淆矩阵图(各类混淆情况)
├── F1_curve.png ← F1 值曲线
├── P_curve.png ← Precision 曲线
├── R_curve.png ← Recall 曲线
├── PR_curve.png ← Precision-Recall 曲线(每类一个)
├── results.png ← 每轮 epoch 的 loss 与 mAP 曲线图
├── results.csv ← 每轮 epoch 的详细指标(可用于绘图)
├── opt.yaml ← 所有训练参数配置
├── args.yaml ← CLI 参数配置(例如 model, data)
├── train_batch0.jpg ← 可视化训练图像及预测框(每轮更新)
├── val_batch0_labels.jpg ← 验证集的真实标签可视化
└── val_batch0_pred.jpg ← 验证集的预测结果可视化
```