convolutional
convolutional表示添加一个卷积层,具体参数解释如下:
batch_normalize:是否使用BN层
filters=64 卷积核的个数
size=1 卷积核的大小
stride=1 步长为1
pad=1 是否使用padding 启用的话padding = size//2
activation=leaky 激活函数为leaky
卷积后 图像大小 = (w - size + 2*pad )/s +1
使用BN层的话,bias须设置成False
需要注意pad是指padding是否启用,而不是指padding的大小
shortcut
shortcut:residual结构之后的层
from:与前面哪一层结构add融合 -3代表跨越了两个层 指前面第3个层的输出,融合之后的结果就是shotcut
maxpool
maxpool是最大值池化下采样
stride=1 :表示步长为1
size=5 :表示卷积核的大小为5
注意 maxpool默认padding=(size-1)//2,保证池化后图片大小不变
route
layers 值为单元素时,表示指到第几个元素的输出后。
例如经过以上route 和 maxpool后,红色箭头指目前要进行操作的位置
当route有多个值的时候,表示将多个输出连接起来
按cfg里的块数
例如:
[convolutional]
batch_normalize=1
filters=512
size=1
stride=1
pad=1
activation=leaky
[route]
layers=-2
[maxpool]
stride=1
size=9
[route]
layers=-1,-3
-1指maxpool之后的输出,-3指convolutional之后的输出
yolo
yolo是接在预测器的后面,对预测结果进行处理的层结构
anchors表示生成anchor的w,h
mask表示使用哪些anchor的索引(从0开始)
其他参数暂时不了解,以后了解再更新