Spec-Zone.ru › PyTorch 2.14

AvgPool1d

class torch.nn.modules.pooling.AvgPool1d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True) [исходный код]

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

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

out(Ni,Cj,l)=1k∑m=0k−1input(Ni,Cj,stride×l+m)\text{out}(N_i, C_j, l) = \frac{1}{k} \sum_{m=0}^{k-1} \text{input}(N_i, C_j, \text{stride} \times l + m)

Если padding не равно нулю, входные данные неявно дополняются нулями с обеих сторон на padding точек.

Примечание

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

Примечание

Значение pad не должно превышать половину эффективного размера ядра.

Каждый из параметров kernel_size, stride, padding может быть int или кортежем из одного элемента.

Параметры:
  • kernel_size (int | tuple[int]) – размер окна
  • stride (int | tuple[int]) – шаг окна. Значение по умолчанию — kernel_size
  • padding (int | tuple[int]) – неявное дополнение нулями, добавляемое с обеих сторон
  • ceil_mode (bool) – если True, для вычисления формы выходных данных вместо floor используется ceil
  • count_include_pad (bool) – если True, нулевое дополнение учитывается при вычислении среднего значения
Форма:
  • Входные данные: (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−kernel_sizestride+1⌋L_{out} = \left\lfloor \frac{L_{in} + 2 \times \text{padding} - \text{kernel\_size}}{\text{stride}} + 1\right\rfloor

    Согласно примечанию выше, если ceil_mode равно True и (Lout−1)×stride≥Lin+padding(L_{out} - 1) \times \text{stride} \geq L_{in} + \text{padding}, последнее окно пропускается, поскольку оно начиналось бы в правой области дополнения, в результате чего значение LoutL_{out} уменьшается на единицу.

Примеры:

>>> # pool with window of size=3, stride=2
>>> m = nn.AvgPool1d(3, stride=2)
>>> m(torch.tensor([[[1., 2, 3, 4, 5, 6, 7]]]))
tensor([[[2., 4., 6.]]])
forward(input) [исходный код]

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

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

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.AvgPool1d.html

Spec-Zone.ru

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