yolo基础---一步一步教你看yolov5文件目录

前言

  • 今后的一段时间,会慢慢更新yolo的使用,基础版本以yolov5为主,选yolov5主要是这个很经典,比较适合入门,后面会重点更新yolov10的使用与创新;
  • 这一期是给下一期做准备的,下一期更新如何进行yolov5进行训练

目录

yolov5文档目录

在这里插入图片描述

1、github

在这里插入图片描述

这个有关github的一些配置,不需要管

2、classfiy

在这里插入图片描述

主要用于分类任务

  • predict.py: 脚本用于执行模型对新数据的预测。它会加载训练好的模型,并用它来预测输入数据的类别。
  • train.py: 脚本用于训练分类模型。它会包含数据加载、模型初始化、训练过程以及可能的验证/测试步骤。
  • tutorial.ipynb: Jupyter 笔记本文件是一个教程,它提供了如何使用 yolov5-master 中的分类功能的指导。笔记本会包含代码示例和解释,引导用户如何进行数据准备、模型训练、评估和预测。
  • val.py: 脚本用于模型的验证。它会对验证集的数据执行预测,并评估模型的性能,通常是通过计算准确率、混淆矩阵或其他指标。

3、data

在这里插入图片描述

主要

  • 主要是超参数配置文件(*.yaml),用于神经网络的参数设置,和训练模型相关的参数,并且还包含了目标检测的种类数和种类
  • 如果是训练自己的数据集的话,需要修改.yaml文件
  • 不建议把自己的数据放到这里推荐在yolo文件夹创建存储数据文件夹

详解

  • hyps文件夹 :存放yaml格式的超参数配置文件
    • hyps. scratch-high.yaml :数据增强高,适用于大型型号,即v3、v3-spp、v5l、v5x
    • hyps. scratch-low.yaml :数据增强低,适用于较小型号,即v5n、v5s
    • hyps. scratch-med.yaml :数据增强中,适用于中型型号。即v5m
  • images: 存放着官方给的两张测试图片
  • scripts :存放数据集和权重下载shell脚本
    • download_weights.sh :载权重文件,包括五种大小的P5版和P6版以及分类器版
    • get_coco.sh :下载coco数据集
    • get_coco128.sh :下载coco128(只有128张)
  • Argoverse.yaml :后面的每个.yaml文件都对应一种标准数据集格式的数据
  • coco.yaml :COCO数据集配置文件
  • coco128.yaml :COCO128数据集配置文件
  • voc.yaml :VOC数据集配置文件

4、datasets

在这里插入图片描述

这一块是存储自己要训练的数据集,由自己创建,详情请看:yolo基础—手把手教你划分数据集

5、models

在这里插入图片描述

models: 顾名思义,这个是存储有关模型的文件夹,存储网络构建的一些配置文件

版本: 有4个版本,s、m、l、x这四个版本,特点:速度由快到慢,但是精度由低到高。

训练:如果想训练自己的模型的话,需要在这里修改相应的yaml文件。

详解

  • hub :存放yolov5各版本目标检测网络模型配置文件
    • anchors.yaml:COCO数据的默认锚点
    • yolov3-spp.yaml:带spp的yolov3
    • yolov3-tiny.yaml:精简版yolov3
    • yolov3.yaml : yolov3
    • yolov5-bifpn.yaml :带二值fpn的yolov5l
    • yolov5-fpn.yaml : 带fpn的yolov5
    • yolov5-p2.yaml : (P2, P3, P4, P5)都输出,宽深与large版本相同,相当于比large版本能检测更小物体
    • yolov5-p34.yaml :只输出(P3, P4),宽深与small版本相同,相当于比small版本更专注于检测中小物体
    • yolov5-p6.yaml :(P3, P4, P5, P6)都输出,宽深与large版本相同,相当于比large版本能检测更大物体
    • yolov5-p7.yaml :(P3, P4, P5, P6, P7)都输出,宽深与large版本相同,相当于比large版本能检测更更大物体
    • yolov5-panet.yaml: 带PANet的yolov5l
    • yolov5n6.yaml : (P3, P4, P5, P6)都输出,宽深与nano版本相同,相当于比nano版本能检测更大物体,anchor已预定义
    • yolov5s6.yaml :(P3, P4, P5, P6)都输出,宽深与small版本相同,相当于比small版本能检测更大物体,anchor已预定义
    • yolov5m6.yaml : (P3, P4, P5, P6)都输出,宽深与middle版本相同,相当于比middle版本能检测更大物体,anchor已预定义
    • yolov5l6.yaml : (P3, P4, P5, P6)都输出,宽深与large版本相同,相当于比large版本能检测更大物体,anchor已预定义,推测是作者做实验的产物
    • yolov5x6.yaml : (P3, P4, P5, P6)都输出,宽深与Xlarge版本相同,相当于比Xlarge版本能检测更大物体,anchor已预定义
    • yolov5s-ghost.yaml : backbone的卷积换成了GhostNet形式的yolov5s,anchor已预定义
    • yolov5s-transformer.yaml :backbone最后的C3卷积添加了Transformer模块的yolov5s,anchor已预定义
  • int.py : 空的
  • common.py: 放的是一些网络结构的定义通用模块,包括autopad、Conv、DWConv、TransformerLayer等
  • experimental.py : 实验性质的代码,包括MixConv2d、跨层权重Sum等
  • tf.py: tensorflow版的yolov5代码
  • yolo.py : yolo的特定模块,包括BaseModel,DetectionModel,ClassificationModel,parse_model等
  • yolov5l.yaml : yolov5l网络模型配置文件,large版本,深度1.0,宽度1.0
  • yolov5m.yaml : yolov5m网络模型配置文件,middle版本,深度0.67,宽度0.75
  • yolov5n.yaml : yolov5n网络模型配置文件,nano版本,深度0.33,宽度0.25
  • yolov5s.yaml : yolov5s网络模型配置文件,small版本,深度0.33,宽度0.50
  • yolov5x.yaml : yolov5x网络模型配置文件,Xlarge版本,深度1.33,宽度1.25

6、runs

在这里插入图片描述

runs:我们运行时候输出的一些文件,每一次运行都会生成一个exp文件夹。

详解:

  • detect :测试模型,输出图片并在图片中标注出物体和概率
  • train :训练模型,输出内容,模型(最好、最新)权重、混淆矩阵、F1曲线、超参数文件、P曲线、R曲线、PR曲线、结果文件(loss值、P、R)等
    • expn:第n次实验数据
    • confusion_matrix.png :混淆矩阵
    • P_curve.png :准确率与置信度的关系图线
    • R_curve.png :精准率与置信度的关系图线
    • PR_curve.png :精准率与召回率的关系图线
    • F1_curve.png :F1分数与置信度(x轴)之间的关系
    • labels_correlogram.jpg : 预测标签长宽和位置分布
    • results.png :各种loss和metrics(p、r、mAP等,详见utils/metrics)曲线
    • results.csv :对应上面png的原始result数据
    • hyp.yaml : 超参数记录文件
    • opt.yaml :模型可选项记录文件
    • train_batchx.jpg : 训练集图像x(带标注)
    • val_batchx_labels.jpg :验证集图像x(带标注)
    • val_batchx_pred.jpg : 验证集图像x(带预测标注)
    • weights :权重
    • best.pt : 历史最好权重
    • last.pt : 上次检测点权重
    • labels.jpg : 4张图, 4张图,(1,1)表示每个类别的数据量

7、utils

在这里插入图片描述

utils:工具类,里面有loss函数,metrics函数,plots函数等等。

一些解释

  • aws :恢复中断训练,和aws平台使用相关的工具
  • flask_rest_api: 和flask 相关的工具
  • google_app_engine :和谷歌app引擎相关的工具
  • loggers : 日志打印
  • init.py :notebook的初始化,检查系统软件和硬件
  • activations.py :激活函数
  • augmentations : 存放各种图像增强技术
  • autoanchor.py : 自动生成锚框
  • autobatch.py : 自动生成批量大小
  • benchmarks.py : 对模型进行性能评估(推理速度和内存占用上的评估 )
  • callbacks.py : 回调函数,主要为logger服务
  • datasets # dateset和dateloader定义代码
  • downloads.py : 谷歌云盘内容下载
  • general.py : 全项目通用代码,相关实用函数实现
  • loss.py : 存放各种损失函数
  • metrics.py : 模型验证指标,包括ap,混淆矩阵等
  • plots.py : 绘图相关函数,如绘制loss、ac曲线,还能单独将一个bbox存储为图像
  • torch_utils.py : 辅助函数

8、其他

在这里插入图片描述

  • .dockerignore :docker的ignore文件
  • .gitattributes : 用于将. ipynb 后缀的文件剔除GitHub语言统计
  • .gitignore :docker的ignore文件
  • CONTRIBUTING.md :markdown格式说明文档
  • detect.py目标检测预测脚本
  • export.py : 模型导出
  • hubconf.py : pytorch hub相关
  • LICENSE : 证书
  • README.md : markdown格式说明文档
  • requirements.txt : 可以通过pip install requirement进行依赖环境下载
  • setup.cfg : 项目打包文件
  • train.py目标检测训练脚本
  • tutorial.ipynb : 目标检测上手教程
  • val.py目标检测验证脚本
  • yolov5s.pt: coco数据集模型预训练权重,运行代码的时候会自动从网上下载

参考资料

https://www.cnblogs.com/leolzi/p/18269413

YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值