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 相关文章推荐
使用cx_freeze把python打包exe示例
Jan 24 Python
python中对list去重的多种方法
Sep 18 Python
使用python开发vim插件及心得分享
Nov 04 Python
详解Python当中的字符串和编码
Apr 25 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
python实现FTP服务器服务的方法
Apr 11 Python
python实现电脑自动关机
Jun 20 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
基于Python实现签到脚本过程解析
Oct 25 Python
python实现交并比IOU教程
Apr 16 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 全角转半角实现代码
2010/05/16 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
python的re模块使用方法详解
2019/07/26 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
网络信息安全承诺书
2014/03/26 职场文书
服装发布会策划方案
2014/05/22 职场文书
小学运动会班级口号
2014/06/09 职场文书
质量月口号
2014/06/20 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
《所见》教学反思
2016/02/23 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL