- 源码
- 下载路径
- 目录结构
- 架构解析
- 用户数据训练
- 官方说明
- yolo模型
- .pt查看
https://github.com/ultralytics/yolov5/releases.
目录结构.
|-- CONTRIBUTING.md
|-- Dockerfile
|-- LICENSE
|-- README.md
|-- data //主要是存放一些超参数的配置文件yam,是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称;
| |-- Argoverse.yaml
| |-- hyps//超参数微调配置文件
| | |-- hyp.Objects365.yaml
| | |-- hyp.VOC.yaml
| | |-- hyp.scratch-high.yaml
| |-- images //一些官方提供测试的图片
| | |-- bus.jpg
| |-- scripts//下载数据集shell命令
| | |-- download_weights.sh
| | |-- get_coco.sh
| | -- get_coco128.sh
| -- xView.yaml
|-- detect.py//利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测
|-- export.py
|-- hubconf.py//hub 相关代码
|-- models//一些网络结构构建的配置文件和函数
| |-- __init__.py
| |-- common.py//网络组件模块
| |-- experimental.py//实验性质代码
| |-- hub//另外的一些网络结构,和外层的yolov5l.yaml等是同级的
| | |-- anchors.yaml
| | |-- yolov3-spp.yaml
| | |-- yolov5-bifpn.yaml
| | |-- yolov5l6.yaml
| | |-- yolov5m6.yaml
| | |-- yolov5n6.yaml
| | |-- yolov5s-ghost.yaml
| | -- yolov5x6.yaml
| |-- tf.py//模型导出脚本,负责将模型转化,TensorFlow, Keras and TFLite versions of YOLOv5
| |-- yolo.py//整体网络代码,加载网络结构.yaml文件生成网络结构
| |-- yolov5l.yaml //各种网络结构
|-- requirements.txt//文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包
|-- setup.cfg
|-- train.py//训练自己的数据集的函数
|-- tutorial.ipynb//jupyter notebook 演示文件
|-- utils//存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等
| |-- __init__.py
| |-- activations.py//激活函数相关代码
| |-- augmentations.py//图片扩展变换相关函数
| |-- autoanchor.py//自动描边相关函数
| |-- autobatch.py
| |-- aws
| | |-- __init__.py
| | |-- mime.sh
| | |-- resume.py
| | -- userdata.sh
| |-- benchmarks.py
| |-- callbacks.py
| |-- datasets.py//读取数据集,并做处理的相关函数
| |-- downloads.py//下载需要的权重文件等函数
| |-- flask_rest_api
| | |-- README.md
| | |-- example_request.py
| | -- restapi.py
| |-- general.py//项目通用代码 多线程、日志、git
| |-- google_app_engine
| | |-- Dockerfile
| | |-- additional_requirements.txt
| | -- app.yaml
| |-- loggers
| | |-- __init__.py
| | -- wandb
| | |-- README.md
| | |-- __init__.py
| | |-- log_dataset.py
| | |-- sweep.py
| | |-- sweep.yaml
| | -- wandb_utils.py
| |-- loss.py// 相关损失函数
| |-- metrics.py//计算性能指标的相关函数
| |-- plots.py
| -- torch_utils.py//辅助程序代码并行计算,早停策略等函数
-- val.py
目录说明参考:https://blog.csdn.net/weixin_36714575/article/details/114116862
架构解析 用户数据训练 官方说明https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
说明:
- yolov5s.pt : 网络权重
- yolov5s.yaml : 网络结构
问题1: 训练参数为什么推荐使用网络权重、而不是网络结构
推荐
python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt
不推荐
python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights ‘’ --cfg yolov5s.yaml
原因:
- –weights yolov5s.pt 这种写法,代码是会自动去找对应的网络结构yolov5s.yaml的,所以也是使用了网络结构的,而且也必须使用,权重和结构是必须搭配使用的。
- –weights ‘’ --cfg yolov5s.yaml 这种写法,相当于训练一个小白,什么都不懂的小白。
–weights yolov5s.pt 这种写法,相当于训练一个有经验的人,更快效果更好。
问题2:
同一个网络结构,训练10种类图片和训练100种类图片,会降低每一种的识别率吗
原因:
会的
持续更新中…
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)