先来张图 算法
这一列顾名思义,是层名称。
数字是层编号,后面是层名称。
conv:卷积层。
res:shortcut层(跨层链接,借鉴 resnet 而来,因此用res表示)
yolo:YOLO层。
route:融合层,就是把层进行合并,而后输出到下一层。(后面再仔细讲)
upsample:上采样层。
markdown
这是对于 conv 来讲的,表明过滤器的通道数,和后面 output 的通道数是一致的。
(上述的过滤器和常说的卷积核是同样的东西,就是卷积运算的那个动函数)
这一列中对应非 conv 层的数字在后面讲解各层时再说明。
ide
这一列和 filters 同样,也是只对于 conv 来讲的,表明过滤器的大小和步长。
如:3 x 3 / 1,表明过滤器大小为 3*3,步长为 1。
函数
这一层的输入,416 x 416 x 3,表明输入大小为 416 x 416,通道数为 3。
oop
这一层的输出,416 x 416 x 32,表明输入大小为 416 x 416,通道数为 32。
性能
某次卷积运算须要多少个十亿次浮点运算,其全称是 billion float operations,将屡次卷积运算所耗费的BLOPS加起来就能够表示某个算法模型的时间复杂度。 总之,就是衡量这层卷积的性能的指标,能够看到只有 conv 层后面才有这个参数。 参考1 、参考2
(2020.8.22)spa
卷积层, 用过滤器(卷积核)对输入作卷积。.net
shortcut 层,是卷积的跨层链接,本层的输入与输出通常保持一致,而且不进行其余操做,只是求差。
后面的数字表明把那一层的输出做为本层的输入,以下图: code
作 yolo 运算,还不太明白,再补。orm
融合层,就是把层进行合并,而后输出到下一层。 如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. 而后中止。
上采样层,如第10层,后面的 2x,是2倍上采样的意思。