https://zh.d2l.ai/chapter_convolutional-neural-networks/pooling.html
import torch
from torch import nn
conv = nn.Conv2d(1, 1, kernel_size=(2, 2), bias=False)
pool = nn.AvgPool2d((2, 2), stride=1)
X = torch.rand((6, 6)).reshape((1, 1, 6, 6))
h_k, w_k = conv.kernel_size
conv.weight.data[:] = (1 / (h_k * w_k))
print(conv(X) == pool(X))
tensor([[[[True, True, True, True, True],
[True, True, True, True, True],
[True, True, True, True, True],
[True, True, True, True, True],
[True, True, True, True, True]]]])
平均pooling实际上就是conv kernel的权重为1/(h_p * w_p)