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批量下载图片的三种方法
Apr 22 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python科学计算之Pandas详解
Jan 15 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
Python将多个excel表格合并为一个表格
Feb 22 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
Python Mock模块原理及使用方法详解
Jul 07 Python
Python logging日志模块 配置文件方式
Jul 12 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
Python 里最强的地图绘制神器
Mar 01 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
编译问题
2006/10/09 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
简单使用webpack打包文件的实现
2019/10/29 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python实现通讯录功能
2018/02/22 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
python实现串口通信的示例代码
2020/02/10 Python
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
幼儿园教师岗位职责
2014/03/17 职场文书
倡议书范文格式
2014/05/12 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
乐山大佛导游词
2015/02/02 职场文书
音乐教师求职信范文
2015/03/20 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python