因为平时主要研究检测,所以自己根据已经开源的pytorch的yolov3代码,进行了复现,主要代码并没有更改,而是从一种学习和理解的角度去复现,增加了一些备注(如果问题,欢迎大家指出)。
本文章的开源地址:https://github.com/cooltryer/pytorch-yolov3
代码的解释等都在代码中备注,欢迎各位查看并指出问题
一:代码文件结构
1:加载文件
为了便于自己方便,我按照自己的习惯,将读取的相关数据集,cfg文件,weights等文件,整理在了一个文件夹下面,结构图如下图所示。
Annotations:存储xml文件。
Images:存储图像文件。
ImageSets:存储分割好的训练测试等样本。(这里txt里面只存储图像的名字)。
labels:存储边框的信息。(所属类别,边框坐标)每一个边框信息含有五个值,一个txt文件代表一张图片,可含有多行信息。
weights:预训练权重。可自行下载
2:代码文件
utils:文件内存储的相关操作的函数的文件
train.py:训练函数
test.py:测试函数(在train.py中会调用此函数