对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服务器拒绝服务攻击代码
Jan 16 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
python机器学习理论与实战(五)支持向量机
Jan 19 Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 Python
Python 实现数据结构中的的栈队列
May 16 Python
python单例模式的多种实现方法
Jul 26 Python
python如何从文件读取数据及解析
Sep 19 Python
python修改文件内容的3种方法详解
Nov 15 Python
Docker部署Python爬虫项目的方法步骤
Jan 19 Python
Python安装whl文件过程图解
Feb 18 Python
基于python代码批量处理图片resize
Jun 04 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 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语法(1)
2006/10/09 PHP
php桌面中心(二) 数据库写入
2007/03/11 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
PDO::rollBack讲解
2019/01/29 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
python中文编码问题小结
2014/09/28 Python
用python读写excel的方法
2014/11/18 Python
Python文件处理
2016/02/29 Python
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
优秀学生党员先进事迹材料
2014/05/29 职场文书
员工自我评价范文
2015/03/11 职场文书
个人更名证明
2015/06/23 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
python神经网络Xception模型
2022/05/06 Python