interpolate函數用法?
最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成
def interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None):
r"""
根據給定 size 或 scale_factor,上采樣或下采樣輸入數據input.
當前支持 temporal, spatial 和 volumetric 輸入數據的上采樣,其shape 分別為:3-D, 4-D 和 5-D.
輸入數據的形式為:mini-batch x channels x [optional depth] x [optional height] x width.
上采樣算法有:nearest, linear(3D-only), bilinear(4D-only), trilinear(5D-only).
參數:
- input (Tensor): input tensor
- size (int or Tuple[int] or Tuple[int, int] or Tuple[int, int, int]):輸出的 spatial 尺寸.
- scale_factor (float or Tuple[float]): spatial 尺寸的縮放因子.
- mode (string): 上采樣算法:nearest, linear, bilinear, trilinear, area. 默認為 nearest.
- align_corners (bool, optional): 如果 align_corners=True,則對齊 input 和 output 的角點像素(corner pixels),保持在角點像素的值.