快捷方式

torch.nn.functional.upsample

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

對輸入進行升採樣 (Upsample)。

提供的張量 (tensor) 會被升採樣至指定的 sizescale_factor

警告

此函式已被棄用,建議改用 torch.nn.functional.interpolate()。 這等同於 nn.functional.interpolate(...)

注意

當在 CUDA 裝置上給定張量時,此操作可能會產生不確定的梯度。有關更多訊息,請參閱 重現性 (Reproducibility)

用於升採樣的演算法由 mode 決定。

目前支援時間、空間和體積升採樣,即預期的輸入形狀為 3-D、4-D 或 5-D。

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

可用於升採樣的模式有:nearestlinear(僅限 3D)、bilinearbicubic(僅限 4D)、trilinear(僅限 5D)

參數
  • input (Tensor) – 輸入張量 (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, optional) – 在幾何上,我們將輸入和輸出的像素視為正方形而不是點。 如果設定為 True,則輸入和輸出張量會通過其角落像素的中心點對齊,從而保留角落像素處的值。 如果設定為 False,則輸入和輸出張量會通過其角落像素的角點對齊,並且插值使用邊緣值填充來處理超出邊界的值,使得此操作在 scale_factor 保持不變時獨立於輸入大小。 這僅在 mode'linear''bilinear''bicubic''trilinear' 時才有效。預設值:False

注意

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

警告

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

文件

存取 PyTorch 的完整開發人員文件

查看文件

教學課程

取得針對初學者和進階開發人員的深入教學課程

查看教學課程

資源

尋找開發資源並獲得問題解答

查看資源