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