pytorch AvgPool2d函数

AdaptiveAvgPool2d理解(中网、外网整合) 结合中网和外网关于pytorch的AdaptiveAvg2d的优秀解答,并结合自己的理解,分析了AdaptiveAvg2d和一般池化的区别,并举实例帮助理解。 阅读详情

 
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],这与输出结果是一致的。

 

 

相关-26. pytorch中nn.AdaptiveAvgPool2d() 与 nn.AvgPool2d()函数的区别 1. 文档和示例 在实现NiN的时候,实现GAP使用了nn.AdaptiveAvgPool2d()函数,这里总结一下这两个函数的使用。 1.1 nn.AdaptiveAvgPool2d() nn.AdaptiveAvgPool2d()的帮助文档 nn.AdaptiveAvgPool2d(output_size: Union[int, Tuple[int, ...]]) -> None Applies a 2D adaptive average pooling over an input signal 阅读详情

相关推荐

从2804云台电机到桌面机械臂:一个STM32/GD32玩家的FOC驱动踩坑全记录

本文详细记录了从2804云台电机到桌面机械臂的FOC驱动开发历程,涵盖了硬件选型、驱动方案优化、软件调试等关键环节。特别分享了L6234P驱动芯片的发热问题、AS5600编码器的I2C通信陷阱以及PID调参的实战经验,为DIY爱好者提供了宝贵的参考。

weixin_26897585的博客 480

pytorch avg_pool2d

avg_pool2d用法 首先看一下官方文档解释 input :输入张量 kernel_size :pool的大小,可以是一个单个数字,也可以是一个tuple,如果是单个数字,例如2,就是(2,2) stride: pool移动的大小,可以为单个数字,也可以是一个tuple padding :在两侧填充0,可以为单个数字,也可以是一个tuple ceil_mode :如果为True,将在公式中使用ceil而不是floor来计算输出形状。 count_include_pad :值为true时,将在平均计算

qq_38417994的博客 1万+

千兆以太网PHY设计:PCB原理图完整示例

深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。

weixin_30633869的博客 630

nn.AvgPool2d——二维平均池化操作

PyTorch学习笔记:nn.AvgPool2d——二维平均池化操作 torch.nn.AvgPool2d( kernel_size , stride=None , padding=0 , ceil_mode=False , count_include_pad=True , divisor_override=None ) 功能:在由多个平面组成的输入信号上应用2D平均池化操作,具体计算公式如下: out(Ni,Ci,h,w)=1kH∗kW∑m=0kH−1∑m=0kH−1input(Ni,Ci,stride

qq_50001789的博客 4万+

宝骏kiwi 630 730 560 E100 E200 E300 310 510 610 330 530维修手册电路图资料线路图接线图更新

2020-2022年宝骏RS-3维修手册和电路图。2020-2022年宝骏RS-3维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2021年宝骏510维修手册和电路图。2019-2021年宝骏510维修手册和电路图。

weixin_45821055的博客 1771

RK3588 部署 YOLO26-Pose 人体姿态检测:Windows Docker 环境全流程

YOLO26-Pose 在 RK3588 上的部署流程是 PC 端 ONNX 导出 → RKNN 转换(INT8 量化)→ 板端推理。INT8 量化后 YOLO26s-Pose 约 35ms,YOLO26n-Pose 约 15ms,可以覆盖实时姿态检测的需求。后处理是 Python 实现的常见瓶颈——如果帧率不达标,先用 npy 保存模型输出在 PC 上验证解析逻辑的正确性,确认无误后再迁移到 C++ 实现。

m0_64661770的博客 543

avgpool2d

文章目录1. 函数说明2. 使用范例 1. 函数说明 class torch.nn.AvgPool2d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None) 作用:在由多个输入平面组成的输入信号上应用二维平均池。 kernel_size:卷积核的大小 stride: 步幅大小 padding : 填充 2. 使用范例 我们想对如下(4,4)的矩阵应用一个

scar2016的博客 1461

ArcGIS实验教程——实验二十五:大型商场选址经典案例

本实验基于ArcGIS平台进行商场选址分析,综合考虑道路、居民点、停车场和已有商场四个影响因素。通过缓冲区分析建立各要素的影响范围(道路50米、居民点100米、停车场100米、已有商场500米),采用叠加分析中的相交和擦除运算确定最优选址区域。实验建立了区位评价体系,通过属性赋值(1/-1)和联合运算生成综合评价结果,并实现分级可视化显示。注意事项包括距离参数设置对结果的影响以及正确选择空间分析工具。该流程为商业选址提供了科学的GIS解决方案。

智慧空间实验室 1万+

Pytorch的AvgPool2d函数

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]]]).

OneBaBa的专栏 4731

5-EP4CE10F17C8-引脚配置

EP4CE10F17C8-引脚配置

weixin_44479192的博客 719

Android 9.0 SystemUI禁用长按recent键的分屏功能

​ 在9.0的系统产品开发中,系统对于多窗口模式默认会有分屏功能的,但是在某些产品中,需要禁用分屏模式,所以需要在导航栏中 禁用长按recent的分屏模式功能,接下来分析下相关分屏模式的实现 ​

安卓兼职framework和app工程师的博客 448

python中avg函数的使用_pytorch如何使用AvgPool2d函数 pytorch使用AvgPool2d函数代码解析...

本篇文章小编给大家分享一下pytorch使用AvgPool2d函数代码解析,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。代码如下:import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport numpy as npinpu...

weixin_39692045的博客 1169

<IBM AIX> 《HACMP 实用手册和命令 HA切换手册》 - 鸿篇巨制,全网最全

操作命令检查磁盘预留策略要将磁盘预留策略更改为 no_reserve集群状态实用程序查看集群状态是否正常SMIT System Management (C-SPOC)Cluster ServicesShow Cluster Services 面板上的选项或 lssrc 命令查看资源组、资源组对应的VG、资源组对应的APPLICATION SERVER# ./cldispsmit常用命令F3退出F4列表Esc+6或者F6查看命令Esc+7或者F7选择多项检查状态。

Else 的博客 3363

python中avg函数的使用_pytorch AvgPool2d函数使用详解

我就废话不多说了,直接上代码吧!import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport numpy as npinput = Variable(torch.Tensor([[[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4,...

weixin_40003451的博客 2219

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python avg函数_pytorch AvgPool2d函数使用详解

我就废话不多说了,直接上代码吧!import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport numpy as npinput = Variable(torch.Tensor([[[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4,...

weixin_39609503的博客 2018

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

AvgPool2d函数

AvgPool2d函数说明示例 说明 AvgPool2d函数 平均池化 示例 导入三方库 import torch import torch.nn as nn import numpy as np 设置测试数 a = torch.tensor([[[1., 2., 3.],[4., 5., 6.],[4., 5., 6.]],[[3., 4., 5.],[6., 5., 4.],[3., 2., 1.]]]) print(a.shape) a 结果 torch.Size([2, 3, 3]) tensor(

weixin_43483305的博客 4986

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

PyTorch Week 3——nn.MaxPool2d、nn.AvgPool2d、nn.Linear、激活层

系列文章目录 PyTorch Week 3——卷积 PyTorch Week 3——nn.Module的容器:Sequential、ModuleList、ModuleDice PyTorch Week 3——模型创建 PyTorch Week 2——Dataloader与Dataset PyTorch Week 1 前言 从本节开始转变思路,主要关注各种方法的pytorch代码,对于原理部分略微写写,等后面阅读论文时再以原理为重点。 PyTorch Week 3——nn.MaxPool2d、nn.Avg

yandonglv的博客 1298

学习笔记|Pytorch使用教程12(网络层-池化-线性-激活函数层)

学习笔记|Pytorch使用教程12 本学习笔记主要摘自“深度之眼”,做一个总结,方便查阅。 使用Pytorch版本为1.2 池化层——Pooling Layer 线性层——Linear Layer 激活函数层——Activation Layer 一.池化层——Pooling Layer 1.nn.MaxPool2d 功能:对二维信号(图像)进行最大值池化 主要参数: kernel_si...

qq_24739717的博客 1157

[十四]深度学习Pytorch-池化层、线性层、激活函数层

深度学习Pytorch-池化层、线性层、激活函数层

yanzhiwen2的博客 1829

Pytorch中卷积使用的一些总结(包括nn.conv2d,nn.maxpool2d和空洞卷积、转置卷积)

Pytorch中卷积使用的一些总结torch.nnnn.Conv2dnn.maxpool2dnn.Avg_pool空间金字塔池化(Spatial Pyramid Pooling)卷积神经网络——输入层、卷积层、激活函数、池化层、全连接层 torch.nn nn.Conv2d   nn.Conv2d 输入信号的形式为(N,Cin,H,W),N表示batch size,Cin​表示channel个数,H,W分别表示特征图的高和宽。 参数说明: stride(步长):控制cross-correlation的步长,

北屿的博客 3229

深度之眼Pytorch框架训练营第四期——池化、线性、激活函数层

文章目录九、池化、线性、激活函数层1、池化层(*Pooling Layer*)(1)概述(2)`PyTorch`实现<1> `nn.MaxPool2d()`<2> `nn.AvgPool2d`<3> `nn.MaxUnpool2d`2、线性层(*Linear Layer*)`PyTorch`实现:`nn.Linear`3、激活函数层(*Activation Layer*)(1)`nn.sigmoid`(2)`nn.tanh`(3)`nn.ReLU` 九、池化、线性、激活函

Ikerlz的博客 575

PyTorch学习—10.nn中网络层的具体使用

文章目录引言一、卷积层1. nn.Conv2d2.nn.ConvTranspose2d二、池化层1. nn.MaxPool2d2. nn.AvgPool2d3. nn.MaxUnpool2d三、线性层1. nn.Linear四、激活函数层1. nn.Sigmoid2. nn.tanh3. nn.ReLU 理论知识插眼:深度学习TF—7.卷积神经网络CNN 引言   前面,我们学习了如何搭建模型,以及在模型搭建过程中用到的容器。这一节,我们介绍网络层的具体使用。 一、卷积层   下面介绍几个概念: 卷积

柳杰的博客 802

pytorch-nn_AvgPool2d

创建了一个2x2的平均池化层。这个池化层会将输入张量中每2x2的区域内的元素取平均值,并作为输出。输入张量中每2x2的区域内的元素取平均值,并作为输出。

m0_64260769的博客 242
上一篇: 循环网络视觉attention机制 论文笔记
下一篇: pycharm调试服务器代码
geter_CS
博客等级 码龄10年 7310粉丝 118原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值