Efficientnet网络

 首先看下表b0的参数, B1-7都是下表调整的, 表中的卷积层后默认都跟着BN以及swish激活函数

stage2-8都在堆叠卷积层, stage9一个1*1卷积层, 一个平均池化层, 一个全连接

Resolution(分辨率):, 表示我们输入每个stage时, 特征矩阵的高度和宽度

channels:每个stage输出特征矩阵的个数

layers:将MBconv重复几次

stride(步距):可以通过分辨率信息得到, eg:stage1输入特征矩阵时224*224, stage2为112*112, 则stride为2, stride只是指的每个stage的第一个operator 

 MBConv:

主分支第一个卷积1*1, 用来升维的, 卷积核的个数时输入特征矩阵channel的N倍, 也就是上表中MBConv后面跟着的倍率因子 1、6, 当N等于1时, 相当于并没有升维, 所以时不需要第一个1*1的卷积的, 也就是stage2没有第一个卷积操作, 紧跟着一个BN和Swish激活函数

紧接着一个DW卷积, 卷积核在上方每个stage的operator中显示出来, 可能为3, 可能为5, s1/s2表示步距, 可能为1或2, 紧跟着一个BN和Swish激活函数

下面时SE模块(注意力机制):对输入特征矩阵的每一个channel做一个全局平均池化操作, 分别通过两个全连接层, 第一个激活函数为swish, 第二个全连接层为sigmoid, 第二个全连接层节点个数必须和输入特征矩阵feature map的channel保持一致, 也就是大图的DW卷积输出特征矩阵, 第一个全连接层节点个数等于输入MBConv的特征矩阵channel的1/4

 

在一个1*1卷积, 降维作用, 卷积核个数是上方大表中的channels中的数字, 紧跟着的只有BN没有激活函数

紧接着一个Droupout操作, 在源码中只有使用到shortcut连接的MBConv模块才有Dropout层

然后将输入特征矩阵用捷径分支引过去, 与输出特征矩阵相加得到输出, 仅当输入MBConv结构的特征矩阵与输出的特征矩阵shape形同时, 才会有捷径分支相加(shortcut连接)

下面为B0-B7参数, 第一列为输入的size, 第二列为宽度倍率因子, 第三列为深度倍率因子

宽度倍率因子:调整网络的宽度就是调整卷积核的个数, 调整卷积核的个数, 输出特征矩阵的channle就会发生变化, 将宽度倍率因子乘以B0的channels就得到对应的Bn的输出特征矩阵的channels, 例如b6宽度倍率因子为1.8*32 = 57.6, 取整到最近的8的整数倍得到56, 其他的同理

深度倍率因子:只针对stage2-stage8, 我们将深度倍率因子*layers得到所对应的layers, b0的L=4, B6中就时4*2.6 = 10.4, 向上取整, 得到11

drop_connect_rate:就是dropout的随机失活比例

dropout_rate:对应stage9最后一个全连接层前的dropout的随机失活比例

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值