参考链接

  1. https://tangshusen.me/Dive-into-DL-PyTorch/#/chapter05_CNN/5.4_pooling

二维最大池化层和平均池化层

池化(pooling)层的提出是为了缓解卷积层对位置的过度敏感性。

同卷积层一样,池化层每次对输入数据的一个固定形状窗口(又称池化窗口)中的元素计算输出。不同于卷积层里计算输入和核的互相关性,池化层直接计算池化窗口内元素的最大值或者平均值。该运算也分别叫做最大池化或平均池化。

二维最大池化

在二维最大池化中,池化窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当池化窗口滑动到某一位置时,窗口中的输入子数组的最大值即输出数组中相应位置的元素。

二维平均池化

二维平均池化的工作原理与二维最大池化类似,但将最大运算符替换成平均运算符。

def pool2d(X, pool_size, mode='max'):X = X.float()p_h, p_w = pool_sizeY = torch.zeros(X.shape[0] - p_h + 1, X.shape[1] - p_w + 1)for i in range(Y.shape[0]):for j in range(Y.shape[1]):if mode == 'max':Y[i, j] = X[i: i + p_h, j: j + p_w].max()elif mode == 'avg':Y[i, j] = X[i: i + p_h, j: j + p_w].mean()       return Y

填充和步幅

同卷积层一样,池化层也可以在输入的高和宽两侧的填充并调整窗口的移动步幅来改变输出形状。

torch.nn模块里的二维最大池化层MaxPool2d实例里步幅和池化窗口形状相同。

pool2d = nn.MaxPool2d(3)
pool2d(X)

我们可以手动指定步幅和填充。

pool2d = nn.MaxPool2d(3, padding=1, stride=2)
pool2d(X)

我们也可以指定非正方形的池化窗口,并分别指定高和宽上的填充和步幅。

pool2d = nn.MaxPool2d((2, 4), padding=(1, 2), stride=(2, 3))
pool2d(X)

多通道

在处理多通道输入数据时,池化层对每个输入通道分别池化,而不是像卷积层那样将各通道的输入按通道相加。这意味着池化层的输出通道数与输入通道数相等。

PyTorch——池化层相关推荐

  1. (pytorch-深度学习系列)pytorch卷积层与池化层输出的尺寸的计算公式详解

    pytorch卷积层与池化层输出的尺寸的计算公式详解 要设计卷积神经网络的结构,必须匹配层与层之间的输入与输出的尺寸,这就需要较好的计算输出尺寸 先列出公式: 卷积后,池化后尺寸计算公式: (图像尺寸 ...

  2. pytorch 入门:GPU加速,卷积层,池化层

    GPU 加速 深度学习设计很多向量和多矩阵运算,比如BP , CNN 等深层模型都可以写成矩阵运算的格式,不用写成循环运算.但是CPU 上矩阵的运算会被展成循环的形式,CPU 是串行执行的.而GPU ...

  3. pytorch学习笔记七:nn网络层——池化层、线性层

    一.池化层 池化运算:对信号进行"收集" 并"总结",类似于水池收集水资源,因而得名池化层. 收集:由多变少,图像的尺寸由大变小 总结:最大值/平均值 下面是最 ...

  4. 【动手学深度学习PyTorch版】15 池化层

    上一篇请移步[动手学深度学习PyTorch版]14 卷积层里的多输入多输出通道_水w的博客-CSDN博客 目录 一.池化层 1.1 池化层 ◼池化层原因 ◼ 二维最大池化 1.2 填充.步幅与多个通道 ...

  5. 池化层:最大池化MaxPool、平均池化AvgPool、自适应池化AdaptiveMaxPool区别--基于pytorch框架

    文章目录 MaxPool2d最大池化 AvgPool2d平均池化 AdaptiveAvgPool2d自适应平均池化 池化操作的一个重要的目的就是对卷积后得到的特征进行进一步处理,池化层可以起到对数据进 ...

  6. [pytorch、学习] - 5.4 池化层

    参考 5.4 池化层 在本节中我们介绍池化(pooling)层,它的提出是为了缓解卷积层对位置的过度敏感性. 5.4.1 二维最大池化层和平均池化层 池化层直接计算池化窗口内元素的最大值或者平均值.该 ...

  7. pytorch之池化层

    ·实际图像里,我们感兴趣的物体不会总出现在固定位置:即使我们连续拍摄同一个物体也极有可能出现像素位置上的偏移.这会导致同一个边缘对应的输出可能出现在卷积输出 Y中的不同位置,进而对后面的模式识别造成不 ...

  8. 39_上下采样、MaxPool2d、AvgPool2d、ReLU案例、二维最大池化层和平均池化层、填充和步幅、多通道

    1.34.PyTorch Down/up sample (pytorch上下采样) 1.34.1. 首先介绍下采样 1.34.1.1. MaxPool2d案例 1.34.1.2. AvgPool2d案 ...

  9. 池化层(pooling layer) 感受野(Receptive Field) 神经网络的基本组成

    目录 (1)本文涉及的函数 (2)池化层 (3)感受野 (4)代码示例(含注释) 承接上两篇博客:卷积层(空洞卷积对比普通卷积).激活函数层 (1)本文涉及的函数 import torch impor ...

最新文章

  1. 代码中应用设计模式,看这一篇就够了
  2. hdu4923 f(A,B)分段处理
  3. 谷歌提出新型卷积网络EfficientNet: 推理速度升5.1倍参数减少88%,需要我们的验证
  4. 【Xamarin挖墙脚系列:Android最重要的命令工具ADB】
  5. Oracle11g在Windows和Linux下imp导入表,exp导出表,sqluldr2导出表,sqlldr导入表
  6. Linux下解压RAR软件下载和解压.zip和.rar文件
  7. IRS beamforming 译
  8. U3D[02.21]
  9. MYS-6ULX-IOT 开发板测评——支持 RTL8188 WiFi 模块
  10. speedoffice(Excel)表格怎么一次插入多行?
  11. php 获取指定日期所在月份的最后一天
  12. OS 临界资源、独占资源、临界区
  13. HTTP 最强资料大全
  14. Unity 实时显示帧率
  15. elementui icon图标大全
  16. Codeforces Round #628 (Div. 2) C. Ehab and Path-etic MEXs(贪心+思维)
  17. linux下nginx安装与配置说明
  18. 为何家会伤人:2020-10-15早上
  19. jdbc连接teradata仓库_技术分享:如何基于对象存储打造一个高性能、完全托管的PB级MPP数据仓库...
  20. python数据分析小练习----科赛

热门文章

  1. 解决Windows 10 空闲时CPU占用高,笔记本空闲时风扇声音大
  2. [附源码]Java计算机毕业设计SSM宠物短期寄养平台
  3. 【开源大模型效果测评:WizardLM-13B vs NousHermes-13B】写神经网络发展历史
  4. JavaSE专栏导航
  5. maven中央仓库地址(支持db2,informix等)
  6. 觉醒!MACROSS!(模拟)
  7. wireshark捕获IP分片数据包实践
  8. 数据分析表达式(DAX)--几个常用函数
  9. spi通信原理与应用
  10. 男子杀害前姐夫家人获死刑