如何在PyTorch中执行汇总池。具体来说,如果我们有输入(N, C, W_in, H_in)并且想要(N, C, W_out, H_out)使用特定的输出kernel_size,stride就像nn.Maxpool2d?
(N, C, W_in, H_in)
(N, C, W_out, H_out)
kernel_size
stride
nn.Maxpool2d
你可以使用torch.nn.AvgPool1d(或torch.nn.AvgPool2d,torch.nn.AvgPool3d)执行均值合并-与总合并成比例。如果确实需要求和的值,则可以将平均输出乘以池化表面。
torch.nn.AvgPool1d
torch.nn.AvgPool2d
torch.nn.AvgPool3d
您的意思是,首先执行Avgpool2d,然后如果内核大小为4,则将结果张量乘以4?
是的,首先进行平均池化,然后将结果乘以
4 * 4 = 16
ifkernel_size=4
(因为这意味着平均值是在4 * 4 = 16
元素区域上计算的)。