torch.nn.utils.spectral_norm¶
- torch.nn.utils.spectral_norm(module, name='weight', n_power_iterations=1, eps=1e-12, dim=None)[source][source]¶
對給定模組中的參數應用譜歸一化 (spectral normalization)。
譜歸一化透過使用冪迭代法 (power iteration method) 計算出的權重矩陣的譜範數 重新縮放權重張量,從而穩定生成對抗網路 (GANs) 中判別器(評估器)的訓練。如果權重張量的維度大於 2,則在冪迭代法中將其重新塑形為 2D 以獲得譜範數。 這是透過一個 Hook 來實現的,該 Hook 在每次
forward()
呼叫之前計算譜範數並重新縮放權重。參見 Spectral Normalization for Generative Adversarial Networks 。
- 參數
- 返回
具有譜範數 Hook 的原始模組
- 返回類型
T_module
注意
此函數已使用
torch.nn.utils.parametrize.register_parametrization()
中的新參數化功能重新實現為torch.nn.utils.parametrizations.spectral_norm()
。 請使用較新版本。 此函數將在未來版本的 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])