当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。