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通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
详解Python中的type和object
Aug 15 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 Python
Python发展简史 Python来历
May 14 Python
解决python tkinter界面卡死的问题
Jul 17 Python
python应用文件读取与登录注册功能
Sep 23 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
python游戏开发的五个案例分享
Mar 09 Python
python区块链实现简版工作量证明
May 25 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
9个PHP开发常用功能函数小结
2011/07/15 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
php发送与接收流文件的方法
2015/02/11 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
js同时按下两个方向键
2007/12/01 Javascript
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
vue跨域解决方法
2017/10/15 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python对列表的操作知识点详解
2019/08/20 Python
python pygame实现球球大作战
2019/11/25 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
Python安装Bs4的多种方法
2020/11/28 Python
什么是规则表达式
2012/05/03 面试题
《只有一个地球》教学反思
2014/02/14 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
小学生思想品德评语
2014/12/31 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书