torch.nn.functional.pad
-
torch.nn.functional.pad(input, pad, mode='constant', value=None) → Tensor[исходный код] -
Дополняет тензор заполнением.
- Размер заполнения:
-
Размер заполнения для дополнения некоторых измерений
inputописывается начиная с последнего измерения и двигаясь к предыдущим. Будут дополнены измеренийinput. Например, чтобы дополнить только последнее измерение входного тензора,padдолжно иметь вид ; чтобы дополнить последние 2 измерения входного тензора, используйте ; чтобы дополнить последние 3 измерения, используйте . - Режим заполнения:
-
Конкретные примеры работы каждого режима заполнения см. в разделах
torch.nn.CircularPad2d,torch.nn.ConstantPad2d,torch.nn.ReflectionPad2dиtorch.nn.ReplicationPad2d. Заполнение константой реализовано для произвольного числа измерений. Циклическое заполнение, заполнение повторением и отражением реализованы для заполнения последних 3 измерений входного тензора размерности 4 или 5, последних 2 измерений входного тензора размерности 3 или 4 либо последнего измерения входного тензора размерности 2 или 3.
Примечание
При использовании бэкенда CUDA эта операция может вызывать недетерминированное поведение при обратном проходе, которое нельзя легко отключить. Дополнительную информацию см. в примечаниях о воспроизводимости.
- Параметры:
-
- input (Tensor) – N-мерный тензор
- pad (tuple) – кортеж из m элементов, где размерности входных данных, а — чётное число.
-
mode (str) –
'constant','reflect','replicate'или'circular'. Значение по умолчанию:'constant' -
value (float | None) – значение заполнения для режима
'constant'. Значение по умолчанию:0
- Тип возвращаемого значения:
Примеры:
>>> 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])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.functional.pad.html