对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 域名分析工具实现代码
Jul 15 Python
Python标准库内置函数complex介绍
Nov 25 Python
python中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
Python单元测试框架unittest简明使用实例
Apr 13 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
linux安装python修改默认python版本方法
Mar 31 Python
Python requests上传文件实现步骤
Sep 15 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
全文搜索和替换
2006/10/09 PHP
解析php取整的几种方式
2013/06/25 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
javascript 实现map集合
2015/04/03 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
python如何快速拼接字符串
2020/10/28 Python
应届生船舶驾驶求职信
2013/10/19 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
创建文明城市倡议书
2015/04/28 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Pytorch 如何实现常用正则化
2021/05/27 Python
python之django路由和视图案例教程
2021/07/26 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技