YOLOv5 ONNX 项目使用教程
ONNX-yolov5deploy yolov5 in c++项目地址:https://gitcode.com/gh_mirrors/on/ONNX-yolov5
目录结构及介绍
ONNX-yolov5/
├── data/
│ ├── images/
│ └── labels/
├── models/
│ ├── yolov5n.yaml
│ ├── yolov5s.yaml
│ ├── yolov5m.yaml
│ ├── yolov5l.yaml
│ └── yolov5x.yaml
├── utils/
│ ├── datasets.py
│ ├── general.py
│ ├── loss.py
│ └── metrics.py
├── weights/
│ ├── yolov5n.pt
│ ├── yolov5s.pt
│ ├── yolov5m.pt
│ ├── yolov5l.pt
│ └── yolov5x.pt
├── export.py
├── train.py
├── detect.py
├── requirements.txt
└── README.md
data/
: 包含训练和测试数据集的图像和标签。models/
: 包含YOLOv5不同版本的模型配置文件。utils/
: 包含各种实用工具脚本,如数据集处理、通用函数、损失函数和评估指标。weights/
: 包含预训练的模型权重文件。export.py
: 用于将模型导出为ONNX格式。train.py
: 用于训练模型。detect.py
: 用于推理和检测。requirements.txt
: 项目依赖的Python包列表。README.md
: 项目说明文档。
项目的启动文件介绍
detect.py
detect.py
是用于执行目标检测的主要脚本。它可以从图像、视频或摄像头中检测目标,并将结果保存或显示。
使用方法:
python detect.py --source 0 # 使用摄像头
python detect.py --source file.jpg # 使用图像文件
python detect.py --source file.mp4 # 使用视频文件
train.py
train.py
是用于训练YOLOv5模型的脚本。它支持多种配置和自定义数据集。
使用方法:
python train.py --data data/coco.yaml --cfg models/yolov5s.yaml --weights '' --batch-size 64 --epochs 300
export.py
export.py
是用于将训练好的模型导出为ONNX格式的脚本。
使用方法:
python export.py --weights weights/yolov5s.pt --include onnx
项目的配置文件介绍
data/coco.yaml
data/coco.yaml
是数据集配置文件,包含了数据集的路径、类别信息等。
示例内容:
train: data/images/train
val: data/images/val
nc: 80
names: ['person', 'bicycle', 'car', ...]
models/yolov5s.yaml
models/yolov5s.yaml
是模型配置文件,定义了模型的结构和参数。
示例内容:
# parameters
nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple
# anchors
anchors:
- [10,13, 16,30, 33,23] # P3/8
- [30,61, 62,45, 59,119] # P4/16
- [116,90, 156,198, 373,326] # P5/32
# YOLOv5 backbone
backbone:
# [from, number, module, args]
[[-1, 1, Focus, [64, 3]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
ONNX-yolov5deploy yolov5 in c++项目地址:https://gitcode.com/gh_mirrors/on/ONNX-yolov5