pytorch yolov3源码复现。
因为平时主要研究检测,所以自己根据已经开源的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中会调用此函数)
makeTx.py和voc_label.py:是对数据集进行划分生产trainval里面对相关文件。
detectsets.py:预测代码
requirements.txt:需要的相关包文件。(运行过程中可能遇到版本的问题,其实只要查询不同版本的写法,进行更改即可)
二:参考源码地址
感谢参考代码。
参考的开源代码及相关博客:
(1)https://github.com/ultralytics/yolov3
(2)https://blog.****.net/sinat_27634939/article/details/89884011