torch.nn.utils.spectral_norm
-
torch.nn.utils.spectral_norm(module, name='weight', n_power_iterations=1, eps=1e-12, dim=None)[source] -
Применяет спектральную нормализацию к параметру в заданном модуле.
Спектральная нормализация стабилизирует обучение дискриминаторов (критиков) в генеративных состязательных сетях (GAN) путем масштабирования тензора весов с помощью спектральной нормы матрицы весов, рассчитанной с помощью метода итераций. Если размер тензора весов больше 2, он преобразуется в 2D в методе итераций для получения спектральной нормы. Это реализуется с помощью крючка, который рассчитывает спектральную норму и масштабирует веса перед каждым
forward()вызовом.См. Спектральная нормализация для генеративных состязательных сетей.
- Параметры
-
- module (nn.Module) – содержащий модуль
- name (str, необязательно) – имя параметра веса
- n_power_iterations (int, необязательно) – количество итераций для вычисления спектральной нормы
- eps (float, необязательно) – ε для числовой устойчивости при вычислении норм
-
dim (int, необязательно) – измерение, соответствующее количеству выходов, по умолчанию
0, за исключением модулей, которые являются экземплярами ConvTranspose{1,2,3}d, когда оно равно1
- Возвращает
-
Оригинальный модуль с крючком спектральной нормы
- Тип возвращаемого значения
-
T_module
Примечание
Эта функция была переimpleментирована как
torch.nn.utils.parametrizations.spectral_norm()с использованием новой функциональности параметризации вtorch.nn.utils.parametrize.register_parametrization(). Пожалуйста, используйте новую версию. Эта функция будет устаревшей в будущих версиях PyTorch.Пример:
>>> m = spectral_norm(nn.Linear(20, 40)) >>> m Linear(in_features=20, out_features=40, bias=True) >>> m.weight_u.size() torch.Size([40])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.utils.spectral_norm.html