torch.nn.utils.spectral_norm#
- torch.nn.utils.spectral_norm(module, name='weight', n_power_iterations=1, eps=1e-12, dim=None)[原始碼]#
對給定模組中的引數應用譜歸一化。
譜歸一化透過使用權重矩陣的譜範數 對生成對抗網路 (GAN) 中的判別器 (critic) 進行訓練穩定化,其中譜範數使用冪迭代法計算。如果權重張量的維度大於 2,則在冪迭代法中將其重塑為 2D 以獲得譜範數。這是透過一個 hook 實現的,該 hook 在每次呼叫
forward()之前計算譜範數並重新縮放權重。請參閱 Spectral Normalization for Generative Adversarial Networks。
- 引數
- 返回
帶有譜歸一化 hook 的原始模組
- 返回型別
T_module
注意
此函式已透過新的引數化功能
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])