什么是自适应平均池化以及它是如何工作的?

Posted

技术标签:

【中文标题】什么是自适应平均池化以及它是如何工作的?【英文标题】:What is Adaptive average pooling and How does it work? 【发布时间】:2020-02-29 17:07:15 【问题描述】:

我最近在尝试实现 AlexNet 时遇到了 Pytorch 中的一个方法。 我不明白它是如何工作的。请用一些例子解释它背后的想法。以及它在神经网络功能方面与 Maxpooling 或平均极化有何不同

nn.AdaptiveAvgPool2d((6, 6))

【问题讨论】:

【参考方案1】:

在平均池化或最大池化中,您基本上可以自行设置步幅和内核大小,将它们设置为超参数。如果您碰巧更改了输入大小,则必须重新配置它们。

另一方面,在自适应池中,我们指定了输出大小。并且自动选择步幅和内核大小以适应需要。下面的等式用于计算源代码中的值。

Stride = (input_size//output_size)  
Kernel size = input_size - (output_size-1)*stride  
Padding = 0

【讨论】:

怎么Stride = (input_size//output_size) 找到另一个answer 解释这个公式只适用于输入大小是第二维整数倍的情况。否则计算输出尺寸时发生的地板化会导致这个公式无效。

以上是关于什么是自适应平均池化以及它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

对于torch.nn.AdaptiveAvgPool2d()自适应平均池化函数的一些理解

[QNX 自适应分区用户指南]3 什么是自适应分区?

自适应池化最大值池化和均值池化效率的比较分析

css中margin和padding设置成auto是自适应啥?跟据啥来自适应 最后自适应的值是

什么是自适应哈希索引

[QNX 自适应分区用户指南]1.2 系统架构 - 为什么是自适应?