YOLOv5 安装与使用指南
YOLO-v5项目地址:https://gitcode.com/gh_mirrors/yo/YOLO-v5
目录结构及介绍
当你通过克隆 https://github.com/DataXujing/YOLO-v5.git
获得 YOLOv5 的源代码时, 你的项目根目录下将有以下主要子目录和文件:
子目录说明:
-
models/ : 这个目录包含了模型定义相关的所有文件,例如骨干网络的定义和检测头。
-
utils/ : 所有辅助工具函数和类都放在这里,包括数据预处理,后处理和各种评估指标实现。
-
datasets/ : 包含用于数据加载的数据集接口以及常用数据增强技术的实现。
-
runs/ : 训练过程中的检查点、日志以及验证结果通常保存在这一目录中。
-
weights/ : 预训练模型权重将会存储在此。
主要文件介绍:
-
train.py : 训练脚本, 其中有读取配置参数, 加载数据, 模型训练循环等逻辑。
-
test.py : 测试脚本, 可以用来评估模型性能或进行预测。
-
detect.py : 提供了图像识别的命令行界面功能。
-
validate.py : 用于在测试集上运行模型,评估其性能。
-
export.py : 导出模型到ONNX, CoreML或其他框架。
启动文件介绍
train.py
这个是用于训练新模型或者微调已有模型的主要入口脚本. 你需要通过修改命令行参数来指定使用的数据集路径、配置文件、预训练权重路径等.
使用方法示例:
python train.py --data coco128.yaml --batch-size 16 --img 640 --epochs 100 --name yolov5s_results --hyp data/hyp.scratch.yaml --cfg models/yolov5s.yaml --weights '' --cache
test.py
用来对训练好的模型在测试集上的表现进行评估。可以设定不同的IoU阈值和置信度阈值查看模型的表现。
使用方法示例:
python test.py --weights runs/train/exp/weights/best.pt --data coco128.yaml --img 640
detect.py
此脚本提供了交互式的对象检测功能,可通过传入图片或视频文件作为输入,生成带标注框的检测结果。
使用方法示例:
python detect.py --weights yolov5s.pt --source 0
其中--source 0
表示使用默认摄像头输入;若想从图片读取则改为--source path/to/image.jpg
validate.py
该脚本用于在已划分的测试集上测试模型精度, 并可得到平均精度(mAP)等关键性能指标。
export.py
用于将PyTorch模型转换成其他格式如ONNX、CoreML或TensorRT以提高跨平台兼容性和推理速度。
配置文件介绍
配置文件一般位于 /data/
目录内。主要包括数据集的描述和训练的超参数设置。
数据集配置文件(如 coco128.yaml
)
这些文件里包含了数据集的路径、类别名称、训练、验证和测试集的文件列表。
示例配置:
path: ../datasets/coco128
train: images/train2017/
val: images/val2017/
nc: 80
names: ['person', 'bicycle', 'car', ... ]
超参数配置文件(如 data/hyp.scratch.yaml
)
超参数配置文件包含了学习率策略、Momentum、Weight Decay等一系列优化器相关参数设置。
示例配置:
lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3)
lrf: 0.01 # final OneCycleLR learning rate (lr0 * lrf)
momentum: 0.937 # SGD momentum
weight_decay: 0.0005 # optimizer weight decay
warmup_epochs: 3.0 # warmup epochs (fractions ok)
...
以上就是关于 YOLOv5 开源项目的基础配置和使用指南,希望能帮助你快速上手并熟练掌握其用法。如果有任何疑问或遇到难题,建议参考项目官方文档或访问GitHub仓库获取最新信息和帮助。