pytorch进行上采样的种类实例


Posted in Python onFebruary 18, 2020

1、其中再语义分割比较常用的上采样:

其实现方法为:

def upconv2x2(in_channels, out_channels, mode='transpose'):
 if mode == 'transpose':
  # 这个上采用需要设置其输入通道,输出通道.其中kernel_size、stride
  # 大小要跟对应下采样设置的值一样大小。这样才可恢复到相同的wh。这里时反卷积操作。
  return nn.ConvTranspose2d(
   in_channels,
   out_channels,
   kernel_size=2,
   stride=2)
 else:
  # out_channels is always going to be the same
  # as in_channels
  # 这里不会改变通道数,其中scale_factor是上采用的放大因子,其是相对于当前的
  # 输入大小的倍数
  return nn.Sequential(
   nn.Upsample(mode='bilinear', scale_factor=2, align_corners=True))
  # 这里的代码是在这里设置多一个卷积,这样子就起到了可以修改其输出通道的功能了。
  # 相当于功能跟ConvTranspose2d()差不多,只是上采样的方法不同
  conv1x1((in_channels, out_channels))
 
 
def conv1x1(in_channels, out_channels, groups=1):
 return nn.Sequential(nn.Conv2d(
  in_channels,
  out_channels,
  kernel_size=1,
  groups=groups,
  stride=1),
 nn.BatchNorm2d(out_channels))

另一种上采样的方法是,参考代码:segnet_pytorch:

# Stage 5
  x51 = F.relu(self.bn51(self.conv51(x4p)))
  x52 = F.relu(self.bn52(self.conv52(x51)))
  x53 = F.relu(self.bn53(self.conv53(x52)))
  #这个id5记录的是池化操作时最大值的index,其要设置参数return_indices为True
  x5p, id5 = F.max_pool2d(x53,kernel_size=2, stride=2,return_indices=True)
 
 
  # Stage 5d
  #这个是进行最大值上采样的函数,其是根据id5来把值放到什么位置,其它位置没有值的地方
  补0
  x5d = F.max_unpool2d(x5p, id5, kernel_size=2, stride=2)
  x53d = F.relu(self.bn53d(self.conv53d(x5d)))
  x52d = F.relu(self.bn52d(self.conv52d(x53d)))
  x51d = F.relu(self.bn51d(self.conv51d(x52d)))

测试例子:

#测试上采样
m=nn.MaxPool2d((3,3),stride=(1,1),return_indices=True)
upm=nn.MaxUnpool2d((3,3),stride=(1,1))
data4=torch.randn(1,1,3,3)
output5,indices=m(data4)
output6=upm(output5,indices)
 
print('\ndata4:',data4,
  '\nmaxPool2d',output5,
  '\nindices:',indices,
  '\noutput6:',output6)

其输出为:

data4: tensor([[[[ 2.3151, -1.0391, 0.1074],
   [ 1.9360, 0.2524, 2.3735],
   [-0.1151, 0.4684, -1.8800]]]]) 
maxPool2d tensor([[[[2.3735]]]]) 
indices: tensor([[[[5]]]]) 
output6: tensor([[[[0.0000, 0.0000, 0.0000],
   [0.0000, 0.0000, 2.3735],
   [0.0000, 0.0000, 0.0000]]]])

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

Python 相关文章推荐
python实现探测socket和web服务示例
Mar 28 Python
Python语言的12个基础知识点小结
Jul 10 Python
python通过exifread模块获得图片exif信息的方法
Mar 16 Python
python实现决策树
Dec 21 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
python将字符串list写入excel和txt的实例
Jul 20 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
python应用文件读取与登录注册功能
Sep 23 Python
python实现从ftp服务器下载文件
Mar 03 Python
python如何输出反斜杠
Jun 18 Python
Python解析微信dat文件的方法
Nov 30 Python
Python selenium的这三种等待方式一定要会!
Jun 10 Python
new_zeros() pytorch版本的转换方式
Feb 18 #Python
对pytorch的函数中的group参数的作用介绍
Feb 18 #Python
基于python3实现倒叙字符串
Feb 18 #Python
Python日期格式和字符串格式相互转换的方法
Feb 18 #Python
Python数组并集交集补集代码实例
Feb 18 #Python
通过python检测字符串的字母
Feb 18 #Python
Python安装whl文件过程图解
Feb 18 #Python
You might like
在IIS上安装PHP4.0正式版
2006/10/09 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jQuery知识点整理
2015/01/30 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python中pika模块问题的深入探究
2018/10/13 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Django 路由控制的实现
2019/07/17 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Django URL参数Template反向解析
2020/11/24 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
《胖乎乎的小手》教学反思
2014/02/26 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
霸王洗发水广告词
2014/03/14 职场文书
勾股定理课后反思
2014/04/26 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
新法人代表任命书
2014/06/06 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
文案策划岗位职责
2015/02/11 职场文书
处罚决定书范文
2015/06/24 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
HttpClient实现表单提交上传文件
2022/08/14 Java/Android