对Pytorch中Tensor的各种池化操作解析


Posted in Python onJanuary 03, 2020

AdaptiveAvgPool1d(N)

对一个C*H*W的三维输入Tensor, 池化输出为C*H*N, 即按照H轴逐行对W轴平均池化

>>> a = torch.ones(2,3,4)
>>> a[0,1,2] = 0
>>>> a
tensor([[[1., 1., 1., 1.],
     [1., 1., 0., 1.],
     [1., 1., 1., 1.]],

    [[1., 1., 1., 1.],
     [1., 1., 1., 1.],
     [1., 1., 1., 1.]]])
     
>>> nn.AdaptiveAvgPool1d(5)(a)
tensor([[[1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
     [1.0000, 1.0000, 0.5000, 0.5000, 1.0000],
     [1.0000, 1.0000, 1.0000, 1.0000, 1.0000]],

    [[1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
     [1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
     [1.0000, 1.0000, 1.0000, 1.0000, 1.0000]]])
     
>>> nn.AdaptiveAvgPool1d(1)(a)
tensor([[[1.0000],
     [0.7500],
     [1.0000]],

    [[1.0000],
     [1.0000],
     [1.0000]]])

AdaptiveAvgPool2d((M,N))

对一个B*C*H*W的四维输入Tensor, 池化输出为B*C*M*N, 即按照C轴逐通道对H*W平面平均池化

>>> a = torch.ones(2,2,3,4)
>>> a[:,:,:,1] = 0
>>> a
tensor([[[[1., 0., 1., 1.],
     [1., 0., 1., 1.],
     [1., 0., 1., 1.]],

     [[1., 0., 1., 1.],
     [1., 0., 1., 1.],
     [1., 0., 1., 1.]]],


    [[[1., 0., 1., 1.],
     [1., 0., 1., 1.],
     [1., 0., 1., 1.]],

     [[1., 0., 1., 1.],
     [1., 0., 1., 1.],
     [1., 0., 1., 1.]]]])
     
>>> nn.AdaptiveAvgPool2d((1,2))(a)
tensor([[[[0.5000, 1.0000]],
     [[0.5000, 1.0000]]],
     
    [[[0.5000, 1.0000]],
     [[0.5000, 1.0000]]]])
     
>>> nn.AdaptiveAvgPool2d(1)(a)
tensor([[[[0.7500]],
     [[0.7500]]],

    [[[0.7500]],
     [[0.7500]]]])

AdaptiveAvgPool3d((M,N,K))

对一个B*C*D*H*W的五维输入Tensor, 池化输出为B*C*M*N*K, 即按照C轴逐通道对D*H*W平面平均池化

>>> a = torch.ones(1,2,2,3,4)
>>> a[0,0,:,:,0:2] = 0
>>> a
tensor([[[[[0., 0., 1., 1.],
      [0., 0., 1., 1.],
      [0., 0., 1., 1.]],
      
     [[0., 0., 1., 1.],
      [0., 0., 1., 1.],
      [0., 0., 1., 1.]]],

     [[[1., 1., 1., 1.],
      [1., 1., 1., 1.],
      [1., 1., 1., 1.]],

     [[1., 1., 1., 1.],
      [1., 1., 1., 1.],
      [1., 1., 1., 1.]]]]])
     
>>> nn.AdaptiveAvgPool3d((1,1,2))(a)
tensor([[[[[0., 1.]]],

     [[[1., 1.]]]]])
     
>>> nn.AdaptiveAvgPool3d(1)(a)
tensor([[[[[0.5000]]],

     [[[1.0000]]]]])

以上这篇对Pytorch中Tensor的各种池化操作解析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
教大家使用Python SqlAlchemy
Feb 12 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
Python遍历文件夹和读写文件的实现代码
Aug 28 Python
Python命令启动Web服务器实例详解
Feb 23 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
python添加菜单图文讲解
Jun 04 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
python 日志 logging模块详细解析
Mar 31 Python
Python 如何查找特定类型文件
Aug 17 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 Python
python中pymysql包操作数据库方法
Apr 19 Python
Python基础之高级变量类型实例详解
Jan 03 #Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 #Python
pytorch中的卷积和池化计算方式详解
Jan 03 #Python
Python While循环语句实例演示及原理解析
Jan 03 #Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 #Python
Python综合应用名片管理系统案例详解
Jan 03 #Python
Python tkinter常用操作代码实例
Jan 03 #Python
You might like
德劲1103的维修打理经验
2021/03/02 无线电
建立动态的WML站点(二)
2006/10/09 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
JS 继承实例分析
2008/11/04 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
js比较日期大小的方法
2015/05/12 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
入党积极分子思想汇报
2014/01/02 职场文书
上班早退检讨书
2014/01/09 职场文书
《都江堰》教学反思
2014/02/07 职场文书
社区班子对照检查材料
2014/08/27 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
建党伟业电影观后感
2015/06/01 职场文书