快捷方式

torch.nn.functional.upsample

torch.nn.functional.upsample(input, size=None, scale_factor=None, mode='nearest', align_corners=None)[source][source]

對輸入進行上取樣。

提供的張量將根據給定的 sizescale_factor 進行上取樣。

警告

此函式已棄用,請使用 torch.nn.functional.interpolate() 代替。它等同於 nn.functional.interpolate(...)

注意

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

上取樣所使用的演算法由 mode 決定。

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

輸入維度按以下形式解釋:mini-batch x channels x [可選深度] x [可選高度] x 寬度

可用於上取樣的模式有:nearest(最近鄰插值)、linear(線性插值,僅 3D)、bilinear(雙線性插值)、bicubic(雙三次插值,僅 4D)、trilinear(三線性插值,僅 5D)

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

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

  • scale_factor (floatTuple[float]) – 空間大小的乘數。如果是 Tuple,則必須與輸入大小匹配。

  • mode (str) – 上取樣使用的演算法:'nearest'(最近鄰) | 'linear'(線性) | 'bilinear'(雙線性) | 'bicubic'(雙三次) | 'trilinear'(三線性)。預設值:'nearest'

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

注意

在使用 mode='bicubic' 時,可能會導致過沖,換句話說,它可能為影像產生負值或大於 255 的值。如果在顯示影像時想減少過沖,請顯式呼叫 result.clamp(min=0, max=255)

警告

align_corners = True 時,線性插值模式(linearbilineartrilinear)不會按比例對齊輸出和輸入畫素,因此輸出值可能取決於輸入大小。這是這些模式在 0.3.1 版本之前的預設行為。從那時起,預設行為是 align_corners = False。請參閱 Upsample 瞭解具體示例,說明這如何影響輸出。

文件

查閱 PyTorch 全面的開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲取問題解答

檢視資源