• 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,作用是进行升维,增加通道数。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    java基于Android快递物流服务系统
    thinkphp模型层Model、Logic与Service
    mysql数据库中mysql database 数据被破坏产生的一系列问题
    【前沿技术RPA】 一文了解UiPath 文件与文件夹自动化功能
    【lesson13】进程地址空间收尾
    理解自动驾驶感知技术
    单幅图像超分辨率综述
    React实现虚拟列表的优秀库介绍
    EMC、EMI、EMS的关系
    威纶通触摸屏制作自定义欢迎界面的几种方法介绍
  • 原文地址:https://blog.csdn.net/weixin_45942265/article/details/126212700