对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 合并文件的具体实例
Aug 08 Python
Python每天必学之bytes字节
Jan 28 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
将pip源更换到国内镜像的详细步骤
Apr 07 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
python读取Excel表格文件的方法
Sep 02 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 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读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
node内置调试方法总结
2018/02/22 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
科长竞聘演讲稿
2014/05/16 职场文书
2015元旦标语横幅
2014/12/09 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
教师聘用意向书
2015/05/11 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Python Parser的用法
2021/05/12 Python
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers