(1, 3, 16, 224, 224) is the input to the model. for the Avg pool, I have
x = torch.randn(1, 2048, 16, 7, 7)
pool = nn.AvgPool3d(kernel_size=(4, 7, 7), stride=(1, 1, 1), padding=(0, 0, 0))
out = pool(x)
print(out.shape)
> torch.Size([1, 2048, 13, 1, 1])

I was expecting the same sequence length 16 and not 13. My understanding of pooling (2D or 3D) is that it only works on the spatial dimension.