| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(一)综述 -> 正文阅读 |
|
[人工智能]2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(一)综述 |
2021SC@SDUSC 前言该项目代码主要分为三部分: 一、模型定义。这部分代码在models文件夹下。 ? 二、封装好的一些工具,包括激活函数、数据增强、数据下载、计算损失、模型评估、展示等等都在其中,在utils文件下。 ? 三、模型训练、测试、导出等等。这些是算法落地之后的一些实际应用。 由于项目封装得过好,真正模型定义的代码并不多,多数实际操作在utils中,而为了分工方便明确,我们将项目分成了四部分:模型定义、数据处理、其他工具以及模型落地。分别对应以下图片包含的内容 ? ? ? ? 也即我们将工具类拆开由两个人来解读,我所解读的部分就是上面第三张图片包含的代码 包含了 general.py,loss.py,metrics.py,plots.py,torch_utils.py,接下来我将分别讨论每个文件都是负责什么的。 general.py这份文件就是一些在算法具体实现时用到的方法, 如检查, ? ? ? ?, 下载数据, 非极大值抑制,? 还有其他如输出、清除等等功能都在这实现 总的来说general.py封装好了许多方法,为其他部分提供服务 loss.py?这部分代码负责计算损失函数,包括 ? ? ? ?metrics.py对模型进行评估,计算precision、recall以及各种交并比,交并比是评估预测出来的框与实际框的重合度的重要指标,也会在非极大值抑制时用上。 plots.py这部分负责将数据、结果可视化。算法最终的结果数据,而我们需要将数据真正体现在图片上面,将预测出来的框与类别以及置信度画在图片上面,当然这部分也包括了特征可视化等需要用图片展示出来的方法。 torch_utils.py这部分代码是pytorch框架的一些工具,如训练设备是选择cpu还是gpu,配置、初始化权重、查询、输出、融合卷积层与归一化层等等。 总的来说,我所要解读的代码主要是为模型落地实现提供一些较底层的实现,也即一些算法实现的细节。然而要真正弄懂这个算法肯定是需要整个项目通读下来的,日后读到一些具体的实现时我也会回归到模型定义当中,分析这些细节在算法中是怎样应用的,最后会对整个算法进行一个总结。 ? ? |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 12:35:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |