當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch pad用法及代碼示例


本文簡要介紹python語言中 torch.nn.functional.pad 的用法。

用法:

torch.nn.functional.pad(input, pad, mode='constant', value=0.0)

參數

  • input(Tensor) -N維張量

  • pad(tuple) -m-elements 元組,其中 輸入維度和 是偶數。

  • mode-'constant''reflect''replicate''circular' 。默認值:'constant'

  • value-'constant' 填充的填充值。默認值:0

填充張量。

填充尺寸:

填充 input 某些維度的填充大小從最後一個維度開始向前移動。 input 尺寸將被填充。例如,要僅填充輸入張量的最後一個維度,則 pad 的形式為 ;填充輸入張量的最後 2 個維度,然後使用 ;要填充最後 3 個維度,請使用

填充模式:

有關每種填充模式如何工作的具體示例,請參見 torch.nn.ConstantPad2d torch.nn.ReflectionPad2d torch.nn.ReplicationPad2d 。為任意維度實現了常量填充。複製和反射填充用於填充 5D 輸入張量的最後 3 個維度,或 4D 輸入張量的最後 2 個維度,或 3D 輸入張量的最後一個維度。

注意

使用 CUDA 後端時,此操作可能會在其後向傳遞中引發非確定性行為,這種行為不容易關閉。請參閱有關背景的可重複性說明。

例子:

>>> t4d = torch.empty(3, 3, 4, 2)
>>> p1d = (1, 1) # pad last dim by 1 on each side
>>> out = F.pad(t4d, p1d, "constant", 0)  # effectively zero padding
>>> print(out.size())
torch.Size([3, 3, 4, 4])
>>> p2d = (1, 1, 2, 2) # pad last dim by (1, 1) and 2nd to last by (2, 2)
>>> out = F.pad(t4d, p2d, "constant", 0)
>>> print(out.size())
torch.Size([3, 3, 8, 4])
>>> t4d = torch.empty(3, 3, 4, 2)
>>> p3d = (0, 1, 2, 1, 3, 3) # pad by (0, 1), (2, 1), and (3, 3)
>>> out = F.pad(t4d, p3d, "constant", 0)
>>> print(out.size())
torch.Size([3, 9, 7, 3])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.functional.pad。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。