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