yolo源码注释1——文件结构

代码基于yolov5 v6.0

目录:

  • yolo源码注释1——文件结构
  • yolo源码注释2——数据集配置文件
  • yolo源码注释3——模型配置文件
  • yolo源码注释4——yolo-py
  • datasets # 用于存放数据集的默认文件夹
  • yolov5
    • data # 模型训练的超参数配置文件以及数据集配置文件
      • hyps # 存放超参数配置文件(yaml格式)
        • hyp.scratch-high.yaml:适用于较大的模型结构,如 yolol
        • hyp.scratch-low.yaml:适用于较小的模型结构,如 yolos
        • hyp.scratch-med.yaml:适用于中等模型结构,如 yolom
      • images # 存放了官方提供的两张测试图片:bus.jpg 和 zidane.jpg
      • scripts # 用于下载数据集以及权重文件的shell脚本
        • download_weight.sh:下载权重文件
        • get_coco.sh:下载 coco 数据集
        • get_coco128.sh:下载 coco128 数据集
      • XXX.yaml:各种数据集的配置文件,如 coco.yaml 是 coco 数据集的配置文件
    • models # 搭建模型的相关配置文件及代码
      • hub # 存放各版本网络模型的配置文件
        • anchors.yaml:coco 数据集的默认 anchor
        • yolovX-XXX.yaml:模型配置文件
      • common.py:用于搭建网络的模块,如Conv、DWConv、TransformerLayer等
      • experimental.py:实验性质的代码,其中一些模块是近几年提出来的,如CrossConv、Sum等,yolov5的作者尝试将其融合进yolov5中
      • tf.py:TensorFlow版本的yolov5代码
      • yolo.py:主要用于搭建yolov5的网络模型
      • yolov5X.yaml:yolov5的模型配置文件
    • runs #运行过程中产生的文件夹,每运行一次都会生成一个名为 expN 的文件夹(N代表运行次数)
      • detect # 运行 detect.py 产生的图片,图片中标注出识别到的物体及其概率
      • train # 运行 train.py 产生的文件
        • weights # 权重(包括训练出的最好权重 best.pt 以及上次训练的权重 last.pt)
        • confusion_matrix.png:混淆矩阵
        • F1_curve.png:F1 score 与置信度之间的关系
        • hyp.yaml:超参数记录文件
        • labels.jpg:包含四张子图,从左上到右下分别是每个类别的个数、标注的 bbox、标注的bbox的中心点坐标热图、bbox的宽高热图
        • labels_correlogram.jpg:预测框的宽高以及中心坐标热图
        • opt.yaml:模型记录文件
        • P_curve.png:准确率与置信度之间的关系
        • PR_curve.png:精准率与召回率之间的关系
        • R_curve.png:精准率与置信度之间的关系
        • results.csv:模型训练过程中的指标,如损失函数、准确率等
        • results.png:训练集以及验证集在验证过程中的损失函数、mAP等指标的曲线
        • train_bathN.jpg:训练集图像(带bbox)
        • val_batchN_labels.jpg:验证集图像(带bbox)
        • val_batchN_pred.jpg:验证集图像(带预测框)
    • utils # 通用的工具类函数
      • aws:恢复中断训练相关
      • docker:docker配置相关
      • flash_rest_api:flask接口相关
      • google_app_engine:google app相关
      • loggers:日志打印(包括TensorBoard)
      • activations.py:激活函数
      • augmentations.py:图像增强
      • autoanchor.py:自动生成 anchor
      • autobatch.py:自动生成 batch size
      • benchmarks.py:评估模型的推理速度以及分析内存占用
      • callbacks.py:主要是 logger 的回调函数
      • datasets.py:配置 dataloader 和 datasets
      • downloads.py:下载数据集
      • general.py:通用函数
      • loss.py:损失函数
      • metrics.py:模型验证指标
      • plots.py:绘制损失函数等的曲线、bbox等
      • torch_utils.py:其他一些通用函数
    • detect.py:将训练好的模型用于图片、视频等进行目标检测
    • export.py:导出模型
    • hubconf.py:pytorch hub 相关,用于定义和管理模型的预训练权重和配置信息
    • train.py:训练模型
    • val.py:验证模型,评估模型性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言学习错题集(五)

1.最大公倍数的求法(gcd已知) 2.报数 3.字符串最后必须有’\0’!!! 4.例题 5.例题 6.例题 1.最大公倍数的求法(gcd已知) int lcmgcd*(a/gcd)*(b/gcd);2.报数 报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到…

工程项目管理系统源码+功能清单+项目模块+spring cloud +spring boot em

​ 工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

代码保护 code protection

为什么要做代码保护? 为了保护知识产权并让攻击者的利用更加困难,组织应该为其软件的逆向工程设置障碍(例如,反篡改、调试保护、反盗版特性、运行时完整性),增加攻击者分析和利用你的软件所需的投入。代码保护对于广泛分布的代码…

Markdown使用笔记

Markdown使用笔记 一、段落与强调 important denotes the impossible thing to do Because your ugly appearance, you cannot have a happy ending. 使用*括起来的为斜体 使用**括起来的是粗体 使用~~括起来的是删除线 在句子后面添加<br>即可换行 二、标题 在…

常见期权策略类型有哪些?

这几天在做一个期权策略类型的整理分类&#xff0c;怎么解释期权策略&#xff0c;期权策略是现代金融市场中运用非常广泛、变化非常丰富、结构非常精妙的金融衍生产品&#xff1b;同时也是一种更为复杂也更为灵活的投资工具&#xff0c;下文介绍常见期权策略类型有哪些&#xf…

iptables安全技术和防火墙

通信五元素 源ip和目标ip 源端口和目标端口 协议 通信四元素 源ip和目标ip 源端口和目标端口 iptables表链结构 Netfilter Linux防火墙是由Netfilter组件提供的&#xff0c;Netfilter工作在内核空间&#xff0c;集成在linux内核中 Netfilter是Linux 2.4.x之后新一代的Li…

CI/CD流水线实战

不知道为什么&#xff0c;现在什么技术都想学&#xff0c;因为我觉得我遇到了技术的壁垒&#xff0c;大的项目接触不到&#xff0c;做的项目一个字辣*。所以&#xff0c;整个人心浮气躁&#xff0c;我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末&#xff0c;我再次宅在…

k8s问题汇总

作者前言 本文章为记录使用k8s遇到的问题和解决方法&#xff0c;文章持续更新中… 目录 作者前言正常配置ingress&#xff0c;但是访问错误添加工作节点报错安装k8s报错使用kubectl命令报错container没有运行安装会出现kubelet异常&#xff0c;无法识别删除k8s集群访问dashboa…

Docker安装RabbitMQ单机版

Docker安装RabbitMQ单机版 先安装Docker服务&#xff0c;可参考安装Docker及学习 编写rabbitmq-composefile.yml文件 这里以rabbitmq 3.11.16 版本为例 cat << \EOF > /opt/rabbitmq-composefile.yml version: 3 services:rabbitmq:image: rabbitmq:3.10.0-managem…

【Apollo】推动创新:探索阿波罗自动驾驶的进步(含安装 Apollo的详细教程)

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台&#xff0c;将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…

【密码学】维京密码

维京密码 瑞典罗特布鲁纳巨石上的图案看起来毫无意义&#xff0c;但是它确实是一种维京密码。如果我们注意到每组图案中长笔画和短笔画的数量&#xff0c;将得到一组数字2、4、2、3、3、5、2、3、3、6、3、5。组合配对得到24、23、35、23、36、35。现在考虑如图1.4所示的内容&a…

【变形金刚03】使用 Pytorch 开始构建transformer

一、说明 在本教程中&#xff0c;我们将使用 PyTorch 从头开始构建一个基本的转换器模型。Vaswani等人在论文“注意力是你所需要的一切”中引入的Transformer模型是一种深度学习架构&#xff0c;专为序列到序列任务而设计&#xff0c;例如机器翻译和文本摘要。它基于自我注意机…

iOS Epub阅读器改造记录

六个月前在这个YHEpubDemo阅读器的基础上做了一些优化&#xff0c;这里做一下记录。 1.首行缩进修复 由于分页的存在&#xff0c;新的一页的首行可能是新的一行&#xff0c;则应该缩进&#xff1b;也可能是前面一页段落的延续&#xff0c;这时候不应该缩进。YHEpubDemo基于XDS…

pycharm,VSCode 几个好用的插件

pycharm Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式&#xff0c;增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择&#xff0c;可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天&#xff0c;ai可以解决你80%的问题 &#xff0c;也可以帮…

变形金刚:从零开始【01/2】

一、说明 在我们的日常生活中&#xff0c;无论你是否是数据科学家&#xff0c;你都在单向地使用变压器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT&#xff0c;那么在为您回答问题的框中是变压器的一部分。如果您是数据科学家或数据分析师&#xff0c;则可能正在使…

【BASH】回顾与知识点梳理(二十九)

【BASH】回顾与知识点梳理 二十九 二十九. 进程和工作管理29.1 什么是进程 (process)进程与程序 (process & program)子进程与父进程&#xff1a;fork and exec&#xff1a;进程呼叫的流程系统或网络服务&#xff1a;常驻在内存的进程 29.2 Linux 的多人多任务环境多人环境…

SAP MM学习笔记23-购买发注的账户分配类型(勘定Category)

SAP中控制财务凭证过账科目的是 账号分配类型&#xff08;勘定Category&#xff09;栏目。 ・账号分配类型&#xff08;勘定Category&#xff09;有&#xff1a; 1&#xff0c;K 原价Center&#xff08;成本中心。用于消耗物料采购 的过账&#xff09; 2&#xff0c;E 得意先…

【云原生之Docker实战】使用Docker部署Syncthing同步程序及基本使用

【云原生之Docker实战】使用Docker部署Syncthing同步程序及基本使用 一、Syncthing介绍1.1 Syncthing简介1.2 Syncthing特点1.3 备份和同步区别二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker comp…

LabVIEW对并行机器人结构进行建模仿真

LabVIEW对并行机器人结构进行建模仿真 为了对复杂机器人结构的数学模型进行建模、搜索、动画和验证&#xff0c;在工业机器人动态行为实验室中&#xff0c;设计并实现了具有五个自由度的单臂型机器人。在研究台上可以区分以下元素&#xff1a;带有直流电机和编码器的机器人;稳…

nvm管理node版本

nvm是什么&#xff1f; NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM&#xff0c;可以通过命令很方便地在多个NodeJS版本之间进行切换。 nvm的下载与安装 下载地址&#xff1a;Releases coreybutler/nvm-windows (github.com) windows系统下载nvm-setup…