深度学习笔记-池化层

Posted TIME0101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习笔记-池化层相关的知识,希望对你有一定的参考价值。

1池化层直接计算池化窗口内元素的最大值或者平均值。该运算也分别叫做最大池化或平均池化。在二维最大池化中,池化窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当池化窗口滑动到某一位置时,窗口中的输入子数组的最大值即输出数组中相应位置的元素。

例:最大池化层:在这里插入图片描述
注:
(1)池化层一般位与卷积层之后,会缓解卷积层位置的敏感性,与卷积层一样有窗口大小,填充和步幅作为超参数。
(2)没有输出通道数的超参数。
(3)在多输入通道时,在每一个输入通道应用池化层以获得相应的输出通道
(4)输出通道数=输出通道数
(5)没有可学习的参数

代码实现:

import torch
from torch import nn

def pool2d(X, pool_size, mode='max'):
    X = X.float()
    p_h, p_w = pool_size
    Y = 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

以上是关于深度学习笔记-池化层的主要内容,如果未能解决你的问题,请参考以下文章

CNN 卷积神经网络 池化层Pooling 动手学深度学习v2 pytorch

《南溪的目标检测学习笔记》——基础算子的学习笔记

深度学习笔记-VGG

卷积神经网络——卷积层、池化层和激活函数

FPGA教程案例56深度学习案例3——基于FPGA的CNN卷积神经网络之池化层verilog实现

深度学习基础知识池化层pooling操作如何参与反向传播?