Darknet 输出网络结构详解

先来张图
在这里插入图片描述

一、各列说明

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. 最后一列

不知道什么意思。。。知道了再补。
如果有大佬知道,非常感谢在评论区留言。

二、各行说明

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倍上采样的意思。

发布了72 篇原创文章 · 获赞 87 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/maizousidemao/article/details/103639537