I am not sure how nn.AdaptiveAvgPool2d works…
I defined a tensor of shape (1,1,3,3)
inp = torch.tensor([[[[1,2.,3], [4,5,6], [7,8,9]]]], dtype = torch.float)
print(inp .shape)
print(inp)
torch.Size([1, 1, 3, 3])
tensor([[[[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]]]])
Then i applied AdaptiveAvgPool2d on it and the result was not what i had expected.
out = nn.AdaptiveAvgPool2d((2,2))(inp)
print(out)
tensor([[[[3., 4.],
[6., 7.]]]])
I thought the result would look like
tensor([[[[5., 6.],
[8., 9.]]]])
Please correct me understnding how adaptive pooling works. Thanks in advance !