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实现web端用户登录和注册功能的教程
Apr 30 Python
python比较2个xml内容的方法
May 11 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
Jun 14 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
python issubclass 和 isinstance函数
Jul 25 Python
python实现翻转棋游戏(othello)
Jul 29 Python
opencv实现简单人脸识别
Feb 19 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
Python基础之常用库常用方法整理
Apr 30 Python
用 Python 元类的特性实现 ORM 框架
May 19 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
PHPMailer安装方法及简单实例
2008/11/25 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php基础教程
2015/08/26 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
关于this和self的使用说明
2010/08/01 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
python使用Image处理图片常用技巧分析
2015/06/01 Python
使用Python更换外网IP的方法
2018/07/09 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
Python调用C语言程序方法解析
2020/07/07 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
最新党员的自我评价分享
2013/11/04 职场文书
建筑班组长岗位职责
2014/01/02 职场文书
小松树教学反思
2014/02/11 职场文书
优秀护士演讲稿
2014/04/30 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL