Pooling¶
Note
pooling层用于降低空间分辨率
通常在我们处理图像时,我们希望逐渐降低各层的空间分辨率,这样可以增加神经元的感受野以处理更复杂的信息,还可以减少计算负载让我们得以增加通道数。
Pooling层通过将一小块区域汇聚成一个数来降低空间分辨率。
max-pooling: 选取区域内最大值来代表此区域。
avg-pooling: 选取区域内平均值来代表此区域。
Pooling in Pytorch¶
import torch
from torch import nn
x = torch.arange(9).float().reshape(1, 1, 3, 3)
# 默认使用max pooling
max_pool2d = nn.MaxPool2d(2, padding=0, stride=1)
# as expected
max_pool2d(x)
tensor([[[[4., 5.],
[7., 8.]]]])
# avg pooling
avg_pool2d = nn.AvgPool2d(2, padding=1, stride=2)