从零开始训练YOLO模型
从零开始训练YOLO模型
ShiroRikka从零开始训练YOLO模型
引言:
YOLO(You Only Look Once)是一种流行的目标检测算法,以其快速和准确的特点而闻名。本文将引导你从零开始训练一个YOLO模型,包括环境准备、数据集准备、模型训练和测试等步骤。
1. 准备环境
1.1 安装CUDA
- 访问NVIDIA官网下载对应显卡驱动版本的CUDA Toolkit。
- 配置环境变量:
CUDA_HOME
: CUDA的安装路径(例如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
)Path
: 将%CUDA_HOME%\bin
和%CUDA_HOME%\libnvvp
添加到Path环境变量中。
- 验证CUDA是否安装成功:在命令行中输入
nvcc -V
,如果显示CUDA版本信息,则表示安装成功。
1.2 安装PyTorch
- 访问PyTorch官网,选择合适的PyTorch版本和安装方式。
注意:- PyTorch版本需要与CUDA版本匹配
- 可以使用
nvidia-smi
命令查看CUDA版本 - PyTorch版本应低于CUDA版本
- 推荐使用pip命令安装PyTorch
1.3 安装YOLOv11
- 使用pip命令安装YOLOv11: 注意: 建议使用国内镜像源加速下载。
1
pip install ultralytics
2. 准备工作
2.1 硬件环境
一台配备NVIDIA显卡的电脑(也可以使用AMD显卡),建议显存容量不小于4GB。
2.2 数据集准备
- 数据集格式: YOLO模型常用的数据集格式包括VOC格式和COCO格式。
- VOC格式: 图片和XML标签文件分别存储。
- COCO格式: 所有标注信息存储在一个JSON文件中。
- 标注工具: 常用的目标检测标注工具包括LabelImg、精灵标注等。
- LabelImg: 简单易用,支持VOC格式。
- 精灵标注: 功能强大,支持多种格式。
- 数据集划分: 将数据集划分为训练集、验证集和测试集。
- 训练集: 用于训练模型。
- 验证集: 用于调整模型参数。
- 测试集: 用于评估模型性能。
2.3 模型选择
选择一个合适的YOLO模型作为起始模型。
本文选择YOLOv11作为示例。
3. 训练模型
3.1 准备数据集
新建训练项目的完整文件夹结构为:
1 | project_folder/ |
其中train
文件夹包含训练集图片,val
文件夹包含验证集图片,test
文件夹包含测试集图片,data.yaml
是数据集配置文件,models
文件夹包含模型文件,train.py
是训练脚本。
data.yaml
文件用于配置数据集路径、类别数和类别名称。
1 | train: path/to/train/images |
其中path/to/train/images
是训练集图片的路径,path/to/val/images
是验证集图片的路径,path/to/test/images
是测试集图片的路径,nc
是类别数,names
是类别名称。
3.2 准备模型
下载YOLOv11的模型,并放在一个文件夹(models)中。
3.3 训练模型
修改
train.py
脚本:1
2
3
4
5
6
7
8
9
10
11
12from ultralytics import YOLO
# 加载预训练模型
model = YOLO('models/yolov11.pt')
# 训练模型
model.train(
data="data/data.yaml",
epochs=100,
batch=16,
imgsz=640
)data
: 数据集配置文件路径。epochs
: 训练轮数。batch
: 批处理大小。imgsz
: 输入图片大小。
运行
train.py
脚本:1
python train.py
监控训练过程:
- 使用TensorBoard等工具监控训练过程。
- 观察loss曲线、mAP等指标。
训练完成后,模型会保存在runs/train/exp/weights/
文件夹中。
4. 测试模型
4.1 准备测试数据集
将测试集图片放在一个文件夹中。
4.2 测试模型
修改
test.py
脚本:1
2
3
4
5
6
7from ultralytics import YOLO
# 加载训练好的模型
model = YOLO('runs/train/exp/weights/best.pt')
# 测试模型
results = model(test="test/images")运行
test.py
脚本:1
python test.py
评估模型性能:
- 常用的目标检测测试指标包括Precision、Recall、mAP等。
- 可以使用
ultralytics
提供的工具计算这些指标。
Comment
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果