AvgPool2d¶
- class torch.nn.AvgPool2d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None)[源代码]¶
对由多个输入平面组成的输入信号应用二维平均池化。
在最简单的情况下,输入大小为 ,输出 以及
kernel_size
的层的输出值可以精确地描述为如果
padding
不为零,则输入在两侧隐式填充padding
个点的零。注意
当 ceil_mode=True 时,如果滑动窗口在左侧填充或输入内开始,则允许滑动窗口超出边界。将在右侧填充区域开始的滑动窗口将被忽略。
参数
kernel_size
、stride
、padding
可以是单个
int
– 在这种情况下,相同的值用于高度和宽度维度两个整数的
tuple
– 在这种情况下,第一个 int 用于高度维度,第二个 int 用于宽度维度
- 参数
- 形状
输入: 或 .
输出: 或 ,其中
1 ] stride [ 1 ] + 1 ⌋ W_{out} = \left\lfloor\frac{W_{in} + 2 \times \text{padding}[1] - \text{kernel\_size}[1]}{\text{stride}[1]} + 1\right\rfloor 根据以上说明,如果
ceil_mode
为 True 且 , 我们将跳过最后一个窗口,因为它将从底部填充区域开始,导致 减少 1。同样的规则适用于 .
示例
>>> # pool of square window of size=3, stride=2 >>> m = nn.AvgPool2d(3, stride=2) >>> # pool of non-square window >>> m = nn.AvgPool2d((3, 2), stride=(2, 1)) >>> input = torch.randn(20, 16, 50, 32) >>> output = m(input)