Spec-Zone.ru › PyTorch 2.14

torch.nn.functional.pad

torch.nn.functional.pad(input, pad, mode='constant', value=None) → Tensor [исходный код]

Дополняет тензор заполнением.

Размер заполнения:

Размер заполнения для дополнения некоторых измерений input описывается начиная с последнего измерения и двигаясь к предыдущим. Будут дополнены ⌊len(pad)2⌋\left\lfloor\frac{\text{len(pad)}}{2}\right\rfloor измерений input. Например, чтобы дополнить только последнее измерение входного тензора, pad должно иметь вид (padding_left,padding_right)(\text{padding\_left}, \text{padding\_right}); чтобы дополнить последние 2 измерения входного тензора, используйте (padding_left,padding_right,(\text{padding\_left}, \text{padding\_right}, padding_top,padding_bottom)\text{padding\_top}, \text{padding\_bottom}); чтобы дополнить последние 3 измерения, используйте (padding_left,padding_right,(\text{padding\_left}, \text{padding\_right}, padding_top,padding_bottom\text{padding\_top}, \text{padding\_bottom} padding_front,padding_back)\text{padding\_front}, \text{padding\_back}).

Режим заполнения:

Конкретные примеры работы каждого режима заполнения см. в разделах 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 элементов, где m2≤\frac{m}{2} \leq размерности входных данных, а mm — чётное число.
  • mode (str) – 'constant', 'reflect', 'replicate' или 'circular'. Значение по умолчанию: 'constant'
  • value (float | None) – значение заполнения для режима 'constant'. Значение по умолчанию: 0
Тип возвращаемого значения:

Tensor

Примеры:

>>> 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API