YOLOv5源码解读1.1-整体架构

往期回顾:YOLOv5源码解读1.0-目录_汉卿HanQ的博客-CSDN博客


目录

1.github

2.data

3.models 

4.runs

5.utils

6.VOCdevkit

7.others


大家下载后,如果不出意外就会和我这个一样。本篇解释一下各个文件夹的作用


1.github

        这里并不重要,是存放github上的一些配置


2.data

        data文件夹主要存放一些超参数的配置文件是用来配置训练集,测试集和验证集路径的,还有一些官方提供的测试图片

         data文件夹中有两个很重要的文件-images文件和voc.yaml

        运行detect.py后会对images里的图片进行标注,如果训练自己数据集,就需要修改voc.yaml文件(详情见YOLOv5模型搭建博客)

        这里不建议把数据集放在这个路径下


3.models 

        models文件夹是模型文件夹,里面主要是一些网络构建的配置文件和函数,其中包含s m l x四个版本,这几个版本检测速度又快到慢,但精度由低到高。

        在训练数据集时,需要修改里面的yaml文件来训练自己的模型

        其中yaml不过过多解读,训练模型时搜素一个适合自己的即可,这里对py文件进行解读

  • _init_.py 空文件
  • common.py 存放网络结构的定义通用模块 包括autopad Conv DwConv TransformerLayer等
  • experimental.py 实验性质的代码,包括MixConv2d 跨层权重Sum
  • tf.py tensorflow版本的YOLOv5代码
  • yolo.py YOLO的特点模块,包括BaseModel DetectionModel ClassificationModel parse_model等

4.runs

        

        runs是我们运行的时候的一些输出图片,每运行一次就会生成一个exp文件夹,其中detect是测试模型,输出图片并标注图片中物体和概率

        train是训练模型,输出模型矩阵,混淆矩阵,F1曲线,超参数文件,P曲线,R曲线,PR曲线,结果文件等

  • confusion_matix.png 混淆矩阵
  • P_cirve.png 精确率和置信度关系图
  • R_cirve.png召回率率和置信度关系图
  • PR_cirve.png 精确率和召回率关系图
  • F1_cirve.png F1分数和置信度关系图
  • labels_correlogram.jpg 预测标签长宽和位置分布
  • results.png 各种loss和metrics曲线
  • results.csv 对应上面png的原始results数据
  • hyp.yaml 超参数记录文件
  • pp.yaml 模型可选项记录文件
  • train_bath*.jpg 训练集图像*
  • val_batch*_labels.jpg 验证集图像*
  • val_batch*pre.jpg 验证集图像*带预测标注
  • weights 权重矩阵
  • best.pt 历史最好权重
  • last.pt 上次检测点权重
  • labels.jpg 1.1表示每个类别的数据量 1.2真实标注的BBox 2.1真实标注的中心点坐标 2.2真实标注的矩阵宽高

5.utils

        utils文件是工具文件

  • 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  辅助函数 

6.VOCdevkit

        自己创建的数据集,是使用labelimg标注好的训练集和测试集数据


7.others

        这里对目录部分就告一段落,接下来会讲detect.py代码,如果喜欢,别忘了点个赞哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值