Resnet模型笔记总结

Rsenet18

layer1

ResNet 18 ,使用的是 BasicBlock。layer1,特点是没有进行降采样,卷积层的 stride = 1,不会降采样。因此图片大小没有变化,通道数也都是64没有变化。**在进行 shortcut 连接时,也没有经过 downsample 层。(因为此时的X跟经过layer1后的图片大小和维度都是一样的,所以不需要进行downsample层)
**
在这里插入图片描述

layer2,layer3,layer4

而 layer2,layer3,layer4 的结构图如下,每个 layer 包含 2 个 BasicBlock,但是第 1 个 BasicBlock 的第 1 个卷积层的 stride = 2,会进行降采样。在进行 shortcut 连接时,会经过 downsample 层,要进行降采样和升维。降采样是使图片维度一样,因此此时经过layer层图像大小减半了,通道数从原来的64变为128,因此也要升维。
在这里插入图片描述

Rsenet50

改变通道数和改变图片大小。具体是建立 downsample 层,包括 conv1x1 -> norm_layer。
即在shortcut跳接的时候进行downsample子采样层

layer1

在 layer1 中,首先第一个 Bottleneck 只会进行升维,不会降采样。即图片大小不变,通道数增加,shortcut 连接前,会经过 downsample 层升维处理。第二个 Bottleneck 的 shortcut 连接不会经过 downsample 层。
在这里插入图片描述

layer2,layer3,layer4

而 layer2,layer3,layer4 的结构图如下,每个 layer 包含多个 Bottleneck,但是第 1 个 Bottleneck 的 卷积层的 stride = 2,会进行降采样。在进行 shortcut 连接时,会经过 downsample 层,进行降采样和升维。
在这里插入图片描述

BasicBlock

定义第 1 组 conv3x3 -> norm_layer -> relu,这里使用传入的 stride 和 inplanes。(如果是 layer2 ,layer3 ,layer4 里的第一个 BasicBlock,那么 stride=2,这里会降采样和改变通道数)

定义第 2 组 conv3x3 -> norm_layer -> relu,这里不使用传入的 stride (默认为 1),输入通道数和输出通道数使用planes,也就是不需要降采样和改变通道数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bottleneck

定义第 1 组 conv1x1 -> norm_layer,这里不使用传入的 stride,使用 width,作用是进行降维,减少通道数。
定义第 2 组 conv3x3 -> norm_layer,这里使用传入的 stride,输入通道数和输出通道数使用width。(如果是 layer2 ,layer3 ,layer4 里的第一个 Bottleneck,那么 stride=2,这里会降采样)。
定义第 3 组 conv1x1 -> norm_layer,这里不使用传入的 stride,使用 planes * self.expansion,作用是进行升维,增加通道数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值