Spec-Zone.ru › PyTorch 2.14

LPPool3d

class torch.nn.modules.pooling.LPPool3d(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 — для высоты, а третье int — для ширины

Примечание

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

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

Примечание

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

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

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

Примеры:

>>> # power-2 pool of square window of size=3, stride=2
>>> m = nn.LPPool3d(2, 3, stride=2)
>>> # pool of non-square window of power 1.2
>>> m = nn.LPPool3d(1.2, (3, 2, 2), stride=(2, 1, 2))
>>> input = torch.randn(20, 16, 50, 44, 31)
>>> 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.modules.pooling.LPPool3d.html

Spec-Zone.ru

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