学习资料:
本文件在cfg文件夹下的yolov3-spp.cfg,在搭建模型之前,需要去了解每层和参数的含义。[net]在搭建和训练网络过程中不起任何作用。
(1)层结构
(2)基础知识:LeakyReLU
ReLU函数在x<0时,函数值恒为0,且其导函数也为0,导致如果神经元的输出一旦变为0后,就再也无法复活。为了解决该问题,产生了很多基于ReLU的派生形式,比如,Leaky ReLU函数。
f(x)=max(0,x)+a*min(0,x)=max(x,ax),其中,0<a<=1,一般取0.01或0.1
为了解决ReLU在 x<0 时梯度消失引起的学习不安定问题,提出了Leaky ReLU, 使得在 x<0 时也能让学习继续进行,便于让模型更具活性。但实际上也有实际效果不明显的情况,需要根据实际情况加以判断。
(1)层结构
(1)层结构
maxpool只在SPP中出现,为了不改变输入特征层的shape,所以进行padding填充
(2)SPP(Spatial Pyramid Pooling)
空间金字塔池化的作用是解决输入图片大小不一造成的缺陷,同时在目标识别中增加了精度。它使得任意大小的特征图都能够转换成固定大小的特征向量,其核心思想:把经典的金字塔池化结构Spatial Pyramid Pooling引入CNN中,从而使CNN可以处理任意尺寸的图片。
下面这段代码刚好对于SPP结构:
将输入特征矩阵的高和宽放大2倍。
yolo层并不是最终的预测器,而是在预测器之后的结构,对预测结构进行处理以及生成一系列的anchors。
本文件在build_utils文件夹下的parse_config.py。 #parse:解析;config:配置
检查文件是否存在,读取信息并进行简单处理。
将所有层结构读取一遍,存储到mdefs。
所有的参数都存储在supported里。
检查每个模型的参数是否在supported。
到此这篇yolov3入门(yolov3.cfg)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/14893.html