Spec-Zone.ru › PyTorch 2.14

MaxPool1d

class torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False) [исходный код]

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

В простейшем случае выходное значение слоя с входным размером (N,C,L)(N, C, L) и выходным размером (N,C,Lout)(N, C, L_{out}) можно точно описать следующим образом:

out(Ni,Cj,k)=max⁡m=0,…,kernel_size−1input(Ni,Cj,stride×k+m)out(N_i, C_j, k) = \max_{m=0, \ldots, \text{kernel\_size} - 1} input(N_i, C_j, stride \times k + m)

Если padding не равно нулю, входные данные неявно дополняются отрицательной бесконечностью с обеих сторон на padding точек. dilation — это шаг между элементами внутри скользящего окна. По этой ссылке можно посмотреть наглядную визуализацию параметров объединения.

Примечание

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

Параметры:
  • kernel_size (int | tuple[int]) – Размер скользящего окна, должен быть > 0.
  • stride (int | tuple[int]) – Шаг скользящего окна, должен быть > 0. Значение по умолчанию — kernel_size.
  • padding (int | tuple[int]) – Неявное дополнение отрицательной бесконечностью с обеих сторон; должно быть >= 0 и <= kernel_size / 2.
  • dilation (int | tuple[int]) – Шаг между элементами внутри скользящего окна, должен быть > 0.
  • return_indices (bool) – Если True, вместе со значениями максимумов возвращается argmax. Полезно для последующего применения torch.nn.MaxUnpool1d
  • ceil_mode (bool) – Если True, для вычисления выходной формы вместо floor используется ceil. Это гарантирует, что каждый элемент входного тензора будет охвачен скользящим окном.
Форма:
  • Вход: (N,C,Lin)(N, C, L_{in}) или (C,Lin)(C, L_{in}).
  • Выход: (N,C,Lout)(N, C, L_{out}) или (C,Lout)(C, L_{out}),

    где ceil_mode = False

    Lout=⌊Lin+2×padding−dilation×(kernel_size−1)−1stride⌋+1L_{out} = \left\lfloor \frac{L_{in} + 2 \times \text{padding} - \text{dilation} \times (\text{kernel\_size} - 1) - 1}{\text{stride}}\right\rfloor + 1

    где ceil_mode = True

    Lout=⌊Limin+2×padding−dilation×(kernel_size−1)−1+(stride−1)stride⌋+1L_{out} = \left\lfloor \frac{L_{in} + 2 \times \text{padding} - \text{dilation} \times (\text{kernel\_size} - 1) - 1 + (\text{stride} - 1)}{\text{stride}}\right\rfloor + 1
  • Чтобы последнее объединение начиналось внутри изображения, задайте Lout=Lout−1L_{out} = L_{out} - 1, если (Lout−1)∗stride>=Lin+padding(L_{out} - 1) * \text{stride} >= L_{in} + \text{padding}.

Примеры:

>>> # pool of size=3, stride=2
>>> m = nn.MaxPool1d(3, stride=2)
>>> input = torch.randn(20, 16, 50)
>>> output = m(input)
forward(input) [исходный код]

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

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

Spec-Zone.ru

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