先来张图
一、各列说明
1. layer
这一列顾名思义,是层名称。
数字是层编号,后面是层名称。
conv:卷积层。
res:shortcut层(跨层连接,借鉴 resnet 而来,所以用res表示)
yolo:YOLO层。
route:融合层,就是把层进行合并,然后输出到下一层。(后面再仔细讲)
upsample:上采样层。
2. filters
这是对于 conv 来说的,代表过滤器的通道数,和后面 output 的通道数是一致的。
(上述的过滤器和常说的卷积核是一样的东西,就是卷积运算的那个动函数)
这一列中对应非 conv 层的数字在后面讲解各层时再说明。
3. size
这一列和 filters 一样,也是只对于 conv 来说的,代表过滤器的大小和步长。
如:3 x 3 / 1,代表过滤器大小为 3*3,步长为 1。
4. input
这一层的输入,416 x 416 x 3,代表输入大小为 416 x 416,通道数为 3。
5. output
这一层的输出,416 x 416 x 32,代表输入大小为 416 x 416,通道数为 32。
6. 最后一列
不知道什么意思。。。知道了再补。
如果有大佬知道,非常感谢在评论区留言。
某次卷积运算需要多少个十亿次浮点运算,其全称是 billion float operations,将多次卷积运算所耗费的BLOPS加起来就可以表示某个算法模型的时间复杂度。
总之,就是衡量这层卷积的性能的指标,可以看到只有 conv 层后面才有这个参数。
参考1 、参考2
感谢评论区 AllenLIL 的提醒。
(2020.8.22)
二、各行说明
1. conv
卷积层, 用过滤器(卷积核)对输入做卷积。
2. res
shortcut 层,是卷积的跨层连接,本层的输入与输出一般保持一致,并且不进行其他操作,只是求差。
后面的数字代表把那一层的输出作为本层的输入,如下图。
3. yolo
做 yolo 运算,还不太明白,再补。
4. route
融合层,就是把层进行合并,然后输出到下一层。
如11层,代表将第9层与第3层的输出相加,作为本层的输出,即下一层的输入。
相加规则为:如第3层的输出为208 x 208 x 64,第9层的输出为208 x 208 x 256,则本层输出为208 x 208 x (64+256) 即 208 x 208 x 320,所以route的两层的 weight 和 height 必须相等,若不相等,则本层输出为 0 x 0 x 0,下一层得不到有效输入,就会报 Layer before convolutional must output image. 然后停止。
5. upsample
上采样层,如第10层,后面的 2x,是2倍上采样的意思。