对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生成IP段的方法
Jul 07 Python
用生成器来改写直接返回列表的函数方法
May 25 Python
Python时间和字符串转换操作实例分析
Mar 16 Python
python障碍式期权定价公式
Jul 19 Python
python实现最小二乘法线性拟合
Jul 19 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
Python笔记之facade模式
Nov 20 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
Python基于百度AI实现抓取表情包
Jun 27 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
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
JS重要知识点小结
2011/11/06 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
Python中操作MySQL入门实例
2015/02/08 Python
Python探索之修改Python搜索路径
2017/10/25 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
详解Python如何生成词云的方法
2018/06/01 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
几个Linux面试题笔试题
2012/12/01 面试题
一句话工作感言
2014/03/01 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
申报优秀教师材料
2014/12/16 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
html实现弹窗的实例
2021/06/09 HTML / CSS