I’ve seen the code for the CNN models in torchvision and I’ve noticed that nn.AdaptiveAvgPool2d is used after the convolutional layers before passing the flattened inputs into the fully-connected layers. So why is it used and is the output size of nn.AdaptiveAvgPool2d always set to whatever the output size of the input is after passing it through the convolutional layers?