pytorch AvgPool2d函数使用详解


Posted in Python onJanuary 03, 2020

我就废话不多说了,直接上代码吧!

import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable
import numpy as np
 
 
 
input = Variable(torch.Tensor([[[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7]], [[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7]]]))
print("input shape",input.shape)
c = F.avg_pool1d(input, kernel_size=3, stride=2)
print(c)
print("c shape:",c.shape)
 
# m = nn.AvgPool2d(3, stride=2)
m = nn.AvgPool2d((2, 2), stride=(2, 2))
input = Variable(torch.randn(20, 18, 50, 32)) # bach是20,图片size是50*31,chanel是18(通道是18,也就是每张图有18个fature map)
input = np.array([[[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]],
          [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]],
         [[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]],
          [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]]]) #size2*2*4*4
print("input shape:",input.shape)
input = Variable(torch.FloatTensor(input))
output = m(input)
print(output)
print("output shape:",output.shape)#(2,2,2,2)

输出:

input shape torch.Size([2, 2, 7])
tensor([[[ 2.3333, 4.0000, 6.0000],
     [ 2.0000, 4.0000, 6.0000]],
 
    [[ 2.3333, 4.0000, 6.0000],
     [ 2.0000, 4.0000, 6.0000]]])
c shape: torch.Size([2, 2, 3])
input shape: (2, 2, 4, 4)
tensor([[[[ 1.5000, 3.5000],
     [ 1.5000, 3.5000]],
 
     [[ 1.5000, 3.5000],
     [ 1.5000, 3.5000]]],
 
 
    [[[ 1.5000, 3.5000],
     [ 1.5000, 3.5000]],
 
     [[ 1.5000, 3.5000],
     [ 1.5000, 3.5000]]]])
output shape: torch.Size([2, 2, 2, 2])

pytorch中的F.avg_pool1d()平均池化操作作用于一维,input的维度是三维比如[2,2,7]。F.avg_pool1d()中核size是3,步长是2表示每三个数取平均,每隔两个数取一次.比如[1,3,3,4,5,6,7]安照3个数取均值,两步取一次,那么结果就是[ 2.3333 ,4 ,6 ],也就是核是一维的,也只作用于一个维度。按照池化操作计算公式input size为[2,2,7],kernel size为3,步长为2,则输出维度计算(7-3)/2+1=3所以输出维度是[2,2,3],这与输出结果是一致的。

pytorch中的F.avg_pool2d(),input是维度是4维如[2,2,4,4],表示这里批量数是2也就是两张图像,这里应该是有通道(feature map)数量是2,图像是size是4*4的.核size是(2,2)步长是(2,2)表示被核覆盖的数取平均,横向纵向的步长都是2.那么核是二维的,所以取均值时也是覆盖二维取的。输出中第一个1.5的计算是:1+2+1+2/4=1.5.表示第一张图像左上角的四个像素点的均值。按照池化操作计算公式input size为[2,2,4,4],kernel size为2*2,步长为2,则输出维度计算(4-2)/2+1=2所以输出维度是[2,2,2,2],这与输出结果是一致的。

以上这篇pytorch AvgPool2d函数使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
利用python如何在前程无忧高效投递简历
May 07 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python操作注册表详细步骤介绍
Feb 05 Python
Django 再谈一谈json序列化
Mar 16 Python
python实现Pyecharts实现动态地图(Map、Geo)
Mar 25 Python
Pytorch转tflite方式
May 25 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
Python的logging模块基本用法
Dec 24 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 #Python
Python基础之函数原理与应用实例详解
Jan 03 #Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 #Python
Python基础之高级变量类型实例详解
Jan 03 #Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 #Python
pytorch中的卷积和池化计算方式详解
Jan 03 #Python
Python While循环语句实例演示及原理解析
Jan 03 #Python
You might like
php通过字符串调用函数示例
2014/03/02 PHP
php数组编码转换示例详解
2014/03/11 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
详解angular element()方法使用
2017/04/08 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
跟老齐学Python之折腾一下目录
2014/10/24 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
2014/11/18 Python
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
python语言中有算法吗
2020/06/16 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
大学四年个人的自我评价
2014/02/26 职场文书
活动宣传策划方案
2014/05/23 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
四群教育工作总结
2015/08/10 职场文书
vue动态绑定style样式
2022/04/20 Vue.js