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 相关文章推荐
用map函数来完成Python并行任务的简单示例
Apr 02 Python
python使用urllib2实现发送带cookie的请求
Apr 28 Python
在Python的web框架中中编写日志列表的教程
Apr 30 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
python中返回矩阵的行列方法
Apr 04 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
Python装饰器模式定义与用法分析
Aug 06 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
python 常用的异步框架汇总整理
Jun 18 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
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
js函数般调用正则
2008/04/08 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
python实现dict版图遍历示例
2014/02/19 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
python ETL工具 pyetl
2020/06/07 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
市场部管理制度
2014/02/02 职场文书
小学班主任培训方案
2014/06/04 职场文书
先进单位事迹材料
2014/12/25 职场文书
前台岗位职责范本
2015/04/16 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
Python标准库pathlib操作目录和文件
2021/11/20 Python