BatchNorm2d
-
class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)[source] -
Применяет пакетную нормализацию к 4-мерному входу (мини-пакет 2-мерных входов с дополнительным канальным измерением), как описано в статье Batch Normalization: Ускорение обучения глубоких нейронных сетей путем уменьшения внутреннего смещения сопутствующих переменных.
Среднее и стандартное отклонение вычисляются по каждому измерению в мини-пакетах, а и являются обучаемыми параметрами-векторами размера
C(гдеC— размер входных данных). По умолчанию элементы устанавливаются в 1, а элементы — в 0. Стандартное отклонение вычисляется с помощью смещённой оценки, эквивалентнойtorch.var(input, unbiased=False).Также по умолчанию, во время обучения этот слой сохраняет текущие оценки вычисленного среднего и дисперсии, которые затем используются для нормализации во время оценки. Текущие оценки сохраняются с коэффициентом по умолчанию
momentum.Если
track_running_statsустановлено вFalse, этот слой не сохраняет текущие оценки, а вместо этого использует статистику по пакету и во время оценки.Примечание
Этот
momentumаргумент отличается от используемого в классах оптимизаторов и от обычного понятия импульса. Математически, правило обновления текущих статистик здесь — , где — оценочная статистика, а — новое наблюдаемое значение.Поскольку пакетная нормализация выполняется по
Cизмерению, вычисление статистики на(N, H, W)срезах, общепринято называть это пространственной пакетной нормализацией.- Параметры:
-
- num_features (int) – из ожидаемого размера входных данных
- eps (float) – значение, добавляемое к знаменателю для обеспечения числовой устойчивости. По умолчанию: 1e-5
-
momentum (float) – значение, используемое для вычисления running_mean и running_var. Может быть установлено в
Noneдля накопительного скользящего среднего (т.е. простого среднего). По умолчанию: 0.1 -
affine (bool) – булево значение, которое при установке в
True, предоставляет этому модулю обучаемые параметры сдвига. По умолчанию:True -
track_running_stats (bool) – булево значение, которое при установке в
True, отслеживает текущие среднее и дисперсию, а при установке вFalse, не отслеживает эти статистики и инициализирует буферы статистикиrunning_meanиrunning_varкакNone. Когда эти буферыNone, этот модуль всегда использует статистику по пакету как во время обучения, так и во время оценки. По умолчанию:True
- Форма:
-
- Вход:
- Выход: (такой же размер, как и вход)
Примеры:
>>> # With Learnable Parameters >>> m = nn.BatchNorm2d(100) >>> # Without Learnable Parameters >>> m = nn.BatchNorm2d(100, affine=False) >>> input = torch.randn(20, 100, 35, 45) >>> output = m(input)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.BatchNorm2d.html