Upsample uses F.interpolate as suggested.
We can check the source to see what’s actually doing: https://pytorch.org/docs/stable/_modules/torch/nn/functional.html#interpolate 1.6k
The default mode ‘nearest’ doesn’t suit downscaling but ‘bilinear’ works fine (please correct me if I’m wrong!).
Otherwise, just use mode ‘area’ or adaptive_avg_pool2d directly. However, the latter seems a bit slower than ‘bilinear’.