RCNN学习笔记- efficientnet源码分析

代码详解

1.从类EfficientNet进入到网络当中,其中列表中的数据是一致的

请添加图片描述
在这里插入图片描述
其中MBConv1后面的数字对应的是倍率因子(exp_ratio),两图内容进行对比是相同的。

2.使用depth_coefficient来修改某一个stage所重复的次数

请添加图片描述

3.得到累计的blocks的数目,对于b1来说总共有23块结构

请添加图片描述

4.在这里对inverted_residual_setting残差块中的参数进行设置。其中在i>0的时候,就意味着这一块是这一个stage里面的第二块2,此时将会将其步长设置为1,并且输入通道等于输出通道数,也就是说,在i=0的时候,其输入通道和输出通道是不相同的,在后面都是相同的。

请添加图片描述

5.将inverted_residual_setting列表赋值之后,变为一个长度为23的列表,因为这里面一共有23个小块,多个小块又组成了stage。

请添加图片描述

6.图像经过stem_conv之后,从2402403变为22422432的图像,当s==1并且input和output相同的时候才会使用残差连接(所以每一个stage中的第一个block都不会使用残差连接,因为input!=output),这样子保证了图片大小不会发生改变才会进行相加。
7.cnf.expanded_c != cnf.input_c将会使用卷积核为1*1的普通卷积来改变通道数。其中cnf.expanded_c 是由ratio所决定的。如果cnf.expanded_c为1的,那么会执行,如果不是1将不会执行。

请添加图片描述

8.SE模块由两个Conv2d组成,11的卷积核,且通道数相同代替了全连接层,其实效果相同。之后接卷积核为11的普通卷积来改变通道数。

请添加图片描述
请添加图片描述

9.只有在使用shortcut连接时且删减率大于0的时候才使用dropout层,否则将不会做处理。残差连接的使用取决于input和output是否相同。

请添加图片描述

10.其中在同一个stage中的每一个block的图片大小都是相同的,不同的是通道数。
11.s=2的地方均被用到了stem_conv,2a,3a,4a,6a的地方,其中s=2的地方的图片尺寸发生了改变。
12.其中对比b0和b1的差别在于网络的深度是不一样的,相比之下b1的网络深度会更深。而且还有图片尺寸上的区别,224224和240240.
13.其中SE模块中,当倍率因子是4的时候会将input//4,当是6的时候会//6.
14.其中c,d,e都是对b的重复操作,然后到最后修改输出通道数。

详细结构图

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值