AvgPool2d
-
class torch.nn.AvgPool2d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None)[source] -
Применяет двумерное усредняющее пулинг-преобразование к входному сигналу, состоящему из нескольких входных плоскостей.
В простейшем случае выходное значение слоя с размером входных данных , размером выходных данных и
kernel_sizeможно точно описать следующим образом:Если
paddingне равно нулю, входные данные неявно дополняются нулями с обеих сторон наpaddingточек.Примечание
Если ceil_mode=True, скользящие окна могут выходить за границы, если они начинаются внутри левого дополнения или входных данных. Скользящие окна, которые начинались бы в области дополнения справа, игнорируются.
Примечание
Значение pad должно быть не больше половины эффективного размера ядра.
Параметры
kernel_size,stride,paddingмогут задаваться следующим образом:- одним
intили кортежем из одного элемента — в этом случае одно и то же значение используется для измерений высоты и ширины tupleиз двух целых чисел — в этом случае первоеintиспользуется для измерения высоты, а второеint— для измерения ширины
- Параметры:
-
- kernel_size (int | tuple[int, int]) – размер окна
-
stride (int | tuple[int, int]) – шаг окна. Значение по умолчанию —
kernel_size - padding (int | tuple[int, int]) – неявное дополнение нулями, добавляемое с обеих сторон
-
ceil_mode (bool) – если True, для вычисления формы выходных данных используется
ceilвместоfloor - count_include_pad (bool) – если True, дополнение нулями учитывается при вычислении среднего значения
- divisor_override (int | None) – если задано, используется в качестве делителя; в противном случае используется размер области пулинга.
- Форма:
-
- Входные данные: или .
-
Выходные данные: или , где
Согласно примечанию выше, если
ceil_modeравно True и , последнее окно пропускается, поскольку оно начиналось бы в нижней области дополнения, в результате чего значение уменьшается на единицу.То же самое справедливо для .
Примеры:
>>> # pool of square window of size=3, stride=2 >>> m = nn.AvgPool2d(3, stride=2) >>> # pool of non-square window >>> m = nn.AvgPool2d((3, 2), stride=(2, 1)) >>> input = torch.randn(20, 16, 50, 32) >>> output = m(input)
-
forward(input)[source] -
Выполняет прямой проход.
- Тип возвращаемого значения:
- одним
© 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.AvgPool2d.html