写作初衷
本博客只是对YOLOV5的文件结构进行简单介绍,适合刚入门的小白,若有不对的地方,还请多多包含。
本博客的写作初衷源于自己刚入门时,在网上找了很久,发现都没有对文件结构进行介绍的,自己一步一步摸索过来,对一个小白而言,需要花费蛮长的时间,因此在此写下这博客,希望能帮助刚入门的小白能更快的入门,更快的上手。
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
主题
如何下载代码,就不过多交代,网上都有,这里我们直奔主题,在对下载后的压缩包进行解压后,整个项目的文件结构入下图所示:
1 .github文件夹
.github文件夹打开后有两个文件夹如下图所示:
这两个文件夹我也不知道有什么作用,因为在用的过程中没有涉及到这两个文件,所以也没有太关注。
2 .idea文件夹
.idea文件夹打开后的目录如下图所示:
这里面的文件入门时也不是需要太关注,搞熟V5后可以研究看一下,目前我也不是很清楚。
3 data文件夹
data文件夹打开后如下图所示:
这个文件夹中,我们需要关注两个文件:coco.yaml和coco128.yaml文件,这两个文件是作者提供的数据集文件,我们在训练自己的数据集的时候,需要借用他的文件修改相应的参数,训练自己的数据集可参考(建议先看完本博客再点下面的链接):https://blog.csdn.net/oJiWuXuan/article/details/107558286 或者 https://blog.csdn.net/Clay_Zhang/article/details/107079762
以上是我们下载时的data文件夹,在我们自己训练时,需要在data文件夹中新建几个文件,我项目中的data文件夹下的目录如下图所示:
4 inference文件夹
inference文件夹只有一个images文件夹,打开如下:
images文件夹下只有两张图(应该是作者用于测试模型用的):
inference文件夹的功能主要是用于存放我们测试的图像数据,和输出的图像数据,我自己的项目中的inference文件夹目录如下图所示:
imgges文件夹用于存放需要测试图像数据,output文件夹则为对应的检测输出文件。
5 models文件夹
models文件夹打开如下:
models文件夹中主要存放了V5各模型的权重文件,在models文件夹中,还有两个.py文件是非常需要关注的,如果你需要将训练好的模型部署到c++上,就需要用到这两个文件。
6 utils文件夹
utils文件夹打开如下,主要包含了几个.py文件,这几个.py文件主要是一些函数文件。
7 weights文件夹
weights文件夹下主要用于存放初始网络权重文件,打开如下:
我们在训练网络时,需要加载作者提供的初始权重文件,这样训练出来的网络效果会更好一些。
以上主要介绍了源码目录下的文件夹,下面再介绍一下文件夹之外的文件,如下标所示:
在介绍完文件夹后,其他的几个文件,作为小白而言,主要先关注三个文件,首先是train.py和test.py文件,两个文件是用于训练网络的,这是我们入门的第一步,先调试train.py文件中的参数对网络进行训练,然后用detect.py文件,加载训练好的权重,设置需要检测的图像数据运行即可完成测试。test.py文件是在训练过程中会调其中的函数,用于在训练过程中的验证。
总结
以上是对整个V5文件目录的介绍,作为一位小白,也希望刚入门的小白看完后能有所帮助,在看完本博客后,至于如何训练自己的训练集,可参考博文:https://blog.csdn.net/oJiWuXuan/article/details/107558286 或者 https://blog.csdn.net/Clay_Zhang/article/details/107079762 亲测有用。