对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统计文件行数示例分享
Feb 21 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
python读文件的步骤
Oct 08 Python
python科学计算之scipy——optimize用法
Nov 25 Python
python将图片转base64,实现前端显示
Jan 09 Python
python上传时包含boundary时的解决方法
Apr 08 Python
如何使用python socket模块实现简单的文件下载
Sep 04 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 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
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
jquery json 实例代码
2010/12/02 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
webpack入门必知必会
2017/01/16 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
javascript实现画板功能
2020/04/12 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
深入理解Python3中的http.client模块
2017/03/29 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
小学语文复习计划
2015/01/19 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS
JavaScript实现两个数组的交集
2022/03/25 Javascript
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Java 死锁解决方案
2022/05/11 Java/Android