評價此頁

torch.nn.functional.interpolate#

torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None, antialias=False)[原始碼]#

對輸入進行下采樣/上取樣。

張量插值到給定的 size 或給定的 scale_factor

插值演算法由 mode 確定。

目前支援時間、空間和體取樣,即輸入的形狀期望為 3D、4D 或 5D。

The input dimensions are interpreted in the form: mini-batch x channels x [optional depth] x [optional height] x width.

可用的重取樣模式有:nearestlinear(僅 3D)、bilinearbicubic(僅 4D)、trilinear(僅 5D)、areanearest-exact

引數
  • input (Tensor) – 輸入張量

  • size (intTuple[int] 或 Tuple[int, int] 或 Tuple[int, int, int]) – 輸出的空間大小。

  • scale_factor (floatTuple[float]) – 空間尺寸的乘數。如果 scale_factor 是元組,則其長度必須與空間維度數量匹配;input.dim() - 2

  • mode (str) – 上取樣使用的演算法:'nearest' | 'linear' | 'bilinear' | 'bicubic' | 'trilinear' | 'area' | 'nearest-exact'。預設:'nearest'

  • align_corners (bool, optional) – 從幾何學上講,我們將輸入和輸出的畫素視為正方形而不是點。如果設定為 True,則輸入和輸出張量將透過其角畫素的中心點對齊,保留角畫素的值。如果設定為 False,則輸入和輸出張量將透過其角畫素的角點對齊,並且插值使用邊緣值填充邊界外的值,使得當 scale_factor 保持不變時,該操作與輸入大小無關。僅當 mode'linear''bilinear''bicubic''trilinear' 時才生效。預設:False

  • recompute_scale_factor (bool, optional) – 重新計算用於插值計算的 scale_factor。如果 recompute_scale_factorTrue,則必須傳入 scale_factor,並且 scale_factor 用於計算輸出 size。計算出的輸出 size 將用於推斷插值的新比例。請注意,當 scale_factor 是浮點數時,由於舍入和精度問題,它可能與重新計算的 scale_factor 不同。如果 recompute_scale_factorFalse,則 sizescale_factor 將直接用於插值。預設:None

  • antialias (bool, optional) – 應用抗鋸齒的標誌。預設:False。將抗鋸齒選項與 align_corners=False 一起使用,插值結果在下采樣操作時將與 Pillow 的結果匹配。支援的模式:'bilinear''bicubic'

返回型別

張量

注意

使用 mode='bicubic' 時,可能會導致過沖。對於某些資料型別,在顯示影像時可能會產生負值或大於 255 的值。如果希望減少顯示影像時的過沖,請顯式呼叫 result.clamp(min=0,max=255)。對於 uint8 輸入,它已經執行了飽和轉換操作。因此,不需要手動 clamp 操作。

注意

模式 mode='nearest-exact' 匹配 Scikit-Image 和 PIL 的最近鄰插值演算法,並修復了 mode='nearest' 已知的錯誤。此模式是為了保持向後相容性而引入的。模式 mode='nearest' 匹配有 bug 的 OpenCV 的 INTER_NEAREST 插值演算法。

注意

在使用模式 ['linear', 'bilinear', 'bicubic', 'trilinear', 'area'] 時,CUDA 上 float16 資料型別的梯度在上取樣操作中可能不準確。有關更多詳細資訊,請參閱 issue#104157 中的討論。

注意

此操作在使用 CUDA 裝置上的張量時可能會產生非確定性梯度。有關更多資訊,請參閱 可復現性