InstanceNorm1d
-
class torch.nn.InstanceNorm1d(num_features, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False, device=None, dtype=None)[source] -
Применяет нормализацию по экземплярам к двумерному (без пакетной обработки) или трёхмерному (с пакетной обработкой) вводу, как описано в статье Instance Normalization: The Missing Ingredient for Fast Stylization.
Среднее значение и стандартное отклонение вычисляются по каждому измерению отдельно для каждого объекта в мини-пакете. и — это настраиваемые векторные параметры размером
C(гдеC— число признаков или каналов входных данных), еслиaffineравноTrue. Стандартное отклонение вычисляется с помощью смещённой оценки, эквивалентнойtorch.var(input, unbiased=False).По умолчанию этот слой использует статистику по экземплярам, рассчитанную из входных данных как в режиме обучения, так и в режиме оценки.
Если
track_running_statsустановлено вTrue, во время обучения этот слой запоминает текущие оценки вычисленного среднего и дисперсии, которые затем используются для нормализации во время оценки. Текущие оценки сохраняются с порогом по умолчаниюmomentum.Примечание
Этот
momentumаргумент отличается от аргумента, используемого в классах оптимизаторов, и от обычного понятия импульса. Математически, правило обновления для текущих статистик здесь выглядит как , где — это оценка статистики, а — новое наблюдаемое значение.Примечание
InstanceNorm1dиLayerNormочень похожи, но имеют некоторые нюансы.InstanceNorm1dприменяется к каждому каналу канальных данных, таких как многомерные временные ряды, ноLayerNormобычно применяется ко всему образцу и часто используется в задачах обработки естественного языка. Кроме того,LayerNormприменяет элементное аффинное преобразование, аInstanceNorm1dобычно не применяет аффинное преобразование.- Параметры
-
- num_features (int) – число признаков или каналов входных данных
- eps (float) – значение, добавляемое к знаменателю для повышения числовой устойчивости. По умолчанию: 1e-5
- momentum (float) – значение, используемое для вычисления running_mean и running_var. По умолчанию: 0.1
-
affine (bool) – булево значение, которое, если установлено в
True, обеспечивает настраиваемые аффинные параметры, инициализированные так же, как и для пакетной нормализации. По умолчанию:False. -
track_running_stats (bool) – булево значение, которое, если установлено в
True, отслеживает текущее среднее и дисперсию, а если установлено вFalse, этот модуль не отслеживает эти статистики и всегда использует пакетные статистики как в режиме обучения, так и в режиме оценки. По умолчанию:False
- Форма:
-
- Вход: или
- Выход: или (такая же форма, как у входа)
Примеры:
>>> # Without Learnable Parameters >>> m = nn.InstanceNorm1d(100) >>> # With Learnable Parameters >>> m = nn.InstanceNorm1d(100, affine=True) >>> input = torch.randn(20, 100, 40) >>> 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.InstanceNorm1d.html