Spec-Zone.ru › PyTorch 2.14

LPPool2d

class torch.nn.LPPool2d(norm_type, kernel_size, stride=None, ceil_mode=False) [source]

Применяет двумерное пулинг-усреднение по степенному среднему к входному сигналу, состоящему из нескольких входных плоскостей.

Для каждого окна вычисляется функция:

f(X)=∑x∈Xxppf(X) = \sqrt[p]{\sum_{x \in X} x^{p}}
  • При p = ∞\infty выполняется Max Pooling по абсолютным значениям
  • При p = 1 выполняется Sum Pooling (пропорциональное усреднённому пулингу)

Параметры kernel_size, stride могут быть:

  • одним int — в этом случае одно и то же значение используется для высоты и ширины
  • tuple из двух целых чисел — в этом случае первое int используется для высоты, а второе int — для ширины

Примечание

Если сумма в степени p равна нулю, градиент этой функции не определён. В этом случае данная реализация устанавливает градиент в ноль.

Параметры:
  • kernel_size (int | tuple[int, int]) – размер окна
  • stride (int | tuple[int, int]) – шаг окна. Значение по умолчанию — kernel_size
  • ceil_mode (bool) – если True, для вычисления формы выходных данных будет использоваться ceil вместо floor

Примечание

Когда ceil_mode равно True, скользящие окна могут выходить за границы, если они начинаются в левой области дополнения или во входных данных. Скользящие окна, которые начинались бы в правой области дополнения, игнорируются.

Форма:
  • Входные данные: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) или (C,Hin,Win)(C, H_{in}, W_{in}).
  • Выходные данные: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) или (C,Hout,Wout)(C, H_{out}, W_{out}), где

    Hout=⌊Hin−kernel_size[0]stride[0]+1⌋H_{out} = \left\lfloor\frac{H_{in} - \text{kernel\_size}[0]}{\text{stride}[0]} + 1\right\rfloor
    Wout=⌊Win−kernel_size[1]stride[1]+1⌋W_{out} = \left\lfloor\frac{W_{in} - \text{kernel\_size}[1]}{\text{stride}[1]} + 1\right\rfloor

Примеры:

>>> # power-2 pool of square window of size=3, stride=2
>>> m = nn.LPPool2d(2, 3, stride=2)
>>> # pool of non-square window of power 1.2
>>> m = nn.LPPool2d(1.2, (3, 2), stride=(2, 1))
>>> input = torch.randn(20, 16, 50, 32)
>>> output = m(input)
forward(input) [source]

Выполняет прямой проход.

Тип возвращаемого значения:

Tensor

© 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.LPPool2d.html

Spec-Zone.ru

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