ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks

Torch版本主要分为四部分,ResNet、ResNeSt、split-attention和ablation
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第1张图片

split-attention模块也就是下面的图:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第2张图片
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第3张图片

上图对应论文中的:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第4张图片

ResNet就是基本的resnet的编码:
class Bottleneck(nn.Module):
就是对ResNet的bottleneck的编写,需要说的是,全局平均池化没有采用之前的网络采取对池化函数进行编码的方式,如下所:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第5张图片

而是采用的一个函数:
在这里插入图片描述

与此同时,split-attention也是放在了bottleneck函数中,如下:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第6张图片

由上可知放在了bottleneck的第二层,bottleneck一共三层。

然后进行ResNet网络的编写,也就是下面这一部分:
在这里插入图片描述

了解这些参数就不难读懂写的结构:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第7张图片

网络的结构如下:
第一层conv1
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第8张图片

conv2-4-x
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第9张图片

ResNeSt就是预训练成为对应的网络,代码中有四种:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第10张图片

下面是ResNeSt-200的网络结构
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第11张图片

3,24,36,3是对应的ResNet的bottleneck的数量,bottleneck在ResNet文件中有定义,四个网络的实验结果如论文中所示:

ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第12张图片

ablation就是消融实验,对应文章中的table2
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第13张图片
在这里插入图片描述

0s表示使用ResNet-D中的标准残差块

实际上代码里有七个数据,如下图所示,也就是说实际实验有八个,即下图的七个和一个标准的。
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第14张图片

网络的相关设置就是名称所代表的含义。下面是一个例子:
ResNeSt的代码阅读(pytorch版本)ResNeSt Split-Attention Networks_第15张图片

你可能感兴趣的:(网络结构,网络,python)