BatchNorm1d
-
class torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)[source] -
Применяет пакетную нормализацию к 2D или 3D вводу, как описано в статье Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift .
Среднее и стандартное отклонение вычисляются по каждому измерению на мини-пакетах, а и являются настраиваемыми параметрами-векторами размера
C(гдеC- число признаков или каналов входных данных). По умолчанию элементы устанавливаются в 1, а элементы - в 0. Стандартное отклонение вычисляется с использованием смещённого оценочного значения, эквивалентногоtorch.var(input, unbiased=False).Также по умолчанию в процессе обучения этот слой сохраняет вычисленные оценки среднего и дисперсии, которые затем используются для нормализации во время оценки. Сохранённые оценки хранятся с пороговым значением по умолчанию
momentum0,1.Если
track_running_statsустановлено в значениеFalse, этот слой не сохраняет текущие оценки, а вместо этого использует пакетные статистики и во время оценки.Примечание
Этот
momentumаргумент отличается от аргумента, используемого в классах оптимизаторов, и от общепринятого понятия импульса. Математически правило обновления для текущих статистик здесь имеет вид , где - это оценочная статистика, а - новое наблюдаемое значение.Поскольку пакетная нормализация выполняется по
Cизмерению, вычисляя статистики по(N, L)срезам, часто используется термин временная пакетная нормализация.- Параметры:
-
- 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.BatchNorm1d(100) >>> # Without Learnable Parameters >>> m = nn.BatchNorm1d(100, affine=False) >>> input = torch.randn(20, 100) >>> 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.BatchNorm1d.html