pytorch SENet实现案例


Posted in Python onJune 24, 2020

我就废话不多说了,大家还是直接看代码吧~

from torch import nn

class SELayer(nn.Module):
 def __init__(self, channel, reduction=16):
  super(SELayer, self).__init__()

  //返回1X1大小的特征图,通道数不变
  self.avg_pool = nn.AdaptiveAvgPool2d(1)
  self.fc = nn.Sequential(
   nn.Linear(channel, channel // reduction, bias=False),
   nn.ReLU(inplace=True),
   nn.Linear(channel // reduction, channel, bias=False),
   nn.Sigmoid()
  )

 def forward(self, x):
  b, c, _, _ = x.size()

  //全局平均池化,batch和channel和原来一样保持不变
  y = self.avg_pool(x).view(b, c)

  //全连接层+池化
  y = self.fc(y).view(b, c, 1, 1)

  //和原特征图相乘
  return x * y.expand_as(x)

补充知识:pytorch 实现 SE Block

论文模块图

pytorch SENet实现案例

代码

import torch.nn as nn
class SE_Block(nn.Module):
 def __init__(self, ch_in, reduction=16):
  super(SE_Block, self).__init__()
  self.avg_pool = nn.AdaptiveAvgPool2d(1)				# 全局自适应池化
  self.fc = nn.Sequential(
   nn.Linear(ch_in, ch_in // reduction, bias=False),
   nn.ReLU(inplace=True),
   nn.Linear(ch_in // reduction, ch_in, bias=False),
   nn.Sigmoid()
  )

 def forward(self, x):
  b, c, _, _ = x.size()
  y = self.avg_pool(x).view(b, c)
  y = self.fc(y).view(b, c, 1, 1)
  return x * y.expand_as(x)

现在还有许多关于SE的变形,但大都大同小异

以上这篇pytorch SENet实现案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python抓取Discuz!用户名脚本代码
Dec 30 Python
Python计算程序运行时间的方法
Dec 13 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
利用Python如何生成随机密码
Apr 20 Python
python下载微信公众号相关文章
Feb 26 Python
django 通过URL访问上传的文件方法
Jul 28 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
python模拟点击在ios中实现的实例讲解
Nov 26 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
Dec 01 Python
python实现视频压缩功能
Dec 18 Python
python如何用matplotlib创建三维图表
Jan 26 Python
利用PyTorch实现VGG16教程
Jun 24 #Python
python安装读取grib库总结(推荐)
Jun 24 #Python
Pytorch mask-rcnn 实现细节分享
Jun 24 #Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 #Python
OpenCV+python实现实时目标检测功能
Jun 24 #Python
基于Python下载网络图片方法汇总代码实例
Jun 24 #Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 #Python
You might like
PHP memcache扩展的三种安装方法
2009/04/26 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
js 动态文字滚动的例子
2011/01/17 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
详解ES6中的let命令
2020/04/05 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
使用pdb模块调试Python程序实例
2015/06/02 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
Python的缺点和劣势分析
2019/11/19 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
Linux操作面试题
2012/05/16 面试题
与UNIX有关的几个名词
2015/09/17 面试题
英文自荐信常用句子
2014/03/26 职场文书
文明寝室标语
2014/06/13 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android