(1)torch的interpolate,size和scale_factor参数仅能设置一个,同时设置会报错,size表示interpolate后的(H,W)大小,如果设置scale_factor,实际底层调用时也是先转化为size的大小,当scale_factor为float类型,计算出来的(H,W)采用floor的方式取整。
(2)采用scale_factor时的size计算方法:
https://pytorch.org/docs/stable/_modules/torch/nn/functional.html#interpolate
(3)mode
(a) mode = "bilinear"
align_corners默认为false,此时scale = (input_size-1) / (output_size-1),pytroch源码如下:
https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/UpSample.h
align_corners=True时,scale = input_size / output_size,pytroch源码如下:
https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/UpSample.h
(b)mode = "nearest"