Bottleneck结构出现在resnet中,参考paper
结构如下

左边是一个resnet block,右边是一个和它时间复杂度类似的bottleneck block。

bottleneck由三层组成:1x1, 3x3, 1x1,其中1x1负责缩小放大channel。

为什么要用这个结构呢,paper里是这样说的:
一般来说,增加网络的深度可以提高accuracy, 但是会增加计算量,而bottleneck既增加了深度,计算量又可以得到节约。

参考代码

class Bottleneck2D(nn.Module):expansion = 2def __init__(self, inplanes, planes, stride=1, downsample=None):super(Bottleneck2D, self).__init__()self.bn1 = nn.BatchNorm2d(inplanes)self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1)self.bn2 = nn.BatchNorm2d(planes)self.conv2 = nn.Conv2d(planes, planes, kernel_size=3,stride=stride, padding=1)self.bn3 = nn.BatchNorm2d(planes)self.conv3 = nn.Conv2d(planes, planes * 2, kernel_size=1)self.relu = nn.ReLU(inplace=True)self.downsample = downsampleself.stride = stridedef forward(self, x):residual = xout = self.bn1(x)out = self.relu(out)out = self.conv1(out)out = self.bn2(out)out = self.relu(out)out = self.conv2(out)out = self.bn3(out)out = self.relu(out)out = self.conv3(out)if self.downsample is not None:residual = self.downsample(x)out += residualreturn out

Bottleneck结构(附代码)相关推荐

  1. Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)

    场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...

  2. linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  3. fread读结构体返回值是0无错误_嵌入式C编程之错误处理(附代码例子)!

    原标题:嵌入式C编程之错误处理(附代码例子)! 作者: clover-toeic 前言 本文主要总结嵌入式系统C语言编程中,主要的错误处理方式.文中涉及的代码运行环境如下: 一.错误概念 错误分类 从 ...

  4. MySQL InnoDB事务结构体代码变量全攻略(附源码)

    写在前面 ​ InnoDB是MySQL的一个存储引擎,支持事务,支持非堵塞的一致性读,物理存储结构是Page,每个事务都有回滚日志,重做日志,事务还会有死锁检测,各种各样不同的锁等等. 翻看InnoD ...

  5. Get了!用Python制作数据预测集成工具 | 附代码

    作者 | 李秋键 责编 | 晋兆雨 大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到"现测".大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的描述 ...

  6. 独家 | 手把手教TensorFlow(附代码)

    上一期我们发布了"一文读懂TensorFlow(附代码.学习资料)",带领大家对TensorFlow进行了全面了解,并分享了入门所需的网站.图书.视频等资料,本期文章就来带你一步步 ...

  7. MobileViT: 一种更小,更快,高精度的轻量级Transformer端侧网络架构(附代码实现)...

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 [导读]之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...

  8. 彻底理解cookie,session,localStorage(附代码)

    2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...

  9. 使用英伟达NeMo让你的文字会说话,零基础即可实现自然语音生成任务 | 附代码...

    语音合成技术可以将文字信息转换成标准流畅的语音且进行朗读,在公共服务.智慧交通.泛娱乐.智能硬件等领域具有广泛应用. 在第3期英伟达x量子位NLP公开课上,英伟达开发者社区经理分享了[使用NeMo让你 ...

最新文章

  1. mysql内置变量_详解MySQL注入利用的变量
  2. 官方的正则表达式组件 RegularExpressions (4) : 表达式选项
  3. 定位position详解:relative与absolute
  4. 爬虫爬评书吧_python scrapy+Mongodb爬取蜻蜓FM,酷我及懒人听书
  5. 账号类型_2019年头条、百家、大鱼、企鹅四平台哪种类型的账号最受欢迎?
  6. 【PYTHON笔记】:文件打开和关闭
  7. 矩阵论:向量求导/微分和矩阵微分
  8. 《Java从小白到大牛精简版》之第6章 运算符(上)
  9. ThinkPad SL400 改装Win2003方法以及驱动下载列表(适用于SL500)
  10. Terms of Service - Screen Capture
  11. 大天使之剑H5游戏超详细图文架设教程
  12. Spring Boot入门教程(三十六):支付宝集成-当面付
  13. MySQL功能大全(细品)
  14. processing python mode - 01
  15. MacBook将大文件分割成很多个小文件split命
  16. 顶刊实证复现!排污权交易机制是否提高了企业全要素生产率 ——来自中国上市公司的证据
  17. Lawnmower(codeforces115B)
  18. 基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix
  19. 双硬盘安装win10+ubuntu18.04双系统,U盘安装,UEFI引导
  20. matlab创新开放性实验,《线性代数》实验课程大纲.doc

热门文章

  1. 关于double与float精度丢失问题~看完我明白了☆
  2. Flink 1.10.0 重磅发布,迄今最大规模版本升级!
  3. python dict嵌套list_字典(dict),字典的嵌套,集合(set)
  4. ROCKY 8.4搭建本地yum源及配置局域网公用
  5. B. Most socially-distanced subsequence(思维+模拟)
  6. 联想台式机进入修复计算机,联想台式机怎么进入bios
  7. TCL脚本数据文件格式
  8. 电子纸张模块的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. android 12.0屏蔽系统所有通知
  10. php 驼峰命名规则,php的驼峰命名是什么