Spec-Zone.ru › PyTorch 2

MaxPool1d

class torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False) [source]

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

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

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

Примеры:

>>> # pool of size=3, stride=2
>>> m = nn.MaxPool1d(3, stride=2)
>>> input = torch.randn(20, 16, 50)
>>> output = m(input)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.MaxPool1d.html

Spec-Zone.ru

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