本文簡要介紹python語言中 torch.nn.utils.parametrizations.spectral_norm
的用法。
用法:
torch.nn.utils.parametrizations.spectral_norm(module, name='weight', n_power_iterations=1, eps=1e-12, dim=None)
module(torch.nn.Module) -包含模塊
name(str,可選的) -權重參數的名稱。默認值:
"weight"
。n_power_iterations(int,可選的) -計算頻譜範數的冪迭代次數。默認值:
1
。eps(float,可選的) -epsilon 用於計算範數時的數值穩定性。默認值:
1e-12
。dim(int,可選的) -對應於輸出數量的維度。默認值:
0
,除了作為 ConvTranspose{1,2,3}d 實例的模塊,當它是1
具有注冊到指定權重的新參數化的原始模塊
將頻譜歸一化應用於給定模塊中的參數。
當應用於向量時,它簡化為
譜歸一化通過降低模型的 Lipschitz 常數來穩定生成對抗網絡 (GAN) 中鑒別器(批評者)的訓練。每次訪問權重時,power method 迭代。如果權重張量的維數大於 2,則在冪迭代法中將其重塑為 2D 以獲得譜範數。 近似執行一次
參看生成對抗網絡的頻譜歸一化.
注意
此函數是使用
register_parametrization()
中的參數化函數實現的。它是torch.nn.utils.spectral_norm()
的重新實現。注意
當這個約束被注冊時,與最大奇異值相關的奇異向量被估計而不是隨機采樣。然後,隻要在
training
模式下使用模塊訪問張量,就會更新執行 power method 的n_power_iterations
。注意
如果
_SpectralNorm
模塊,即module.parametrization.weight[idx]
在移除時處於訓練模式,它將執行另一次冪迭代。如果您想避免這種迭代,請在移除之前將模塊設置為 eval 模式。例子:
>>> snm = spectral_norm(nn.Linear(20, 40)) >>> snm ParametrizedLinear( in_features=20, out_features=40, bias=True (parametrizations): ModuleDict( (weight): ParametrizationList( (0): _SpectralNorm() ) ) ) >>> torch.linalg.matrix_norm(snm.weight, 2) tensor(1.0000, grad_fn=<CopyBackwards>)
參數:
返回:
相關用法
- Python PyTorch sparse_csr_tensor用法及代碼示例
- Python PyTorch split用法及代碼示例
- Python PyTorch sparse_coo_tensor用法及代碼示例
- Python PyTorch sparse_用法及代碼示例
- Python PyTorch saved_tensors_hooks用法及代碼示例
- Python PyTorch sqrt用法及代碼示例
- Python PyTorch skippable用法及代碼示例
- Python PyTorch squeeze用法及代碼示例
- Python PyTorch square用法及代碼示例
- Python PyTorch save_on_cpu用法及代碼示例
- Python PyTorch scatter_object_list用法及代碼示例
- Python PyTorch skip_init用法及代碼示例
- Python PyTorch simple_space_split用法及代碼示例
- Python PyTorch sum用法及代碼示例
- Python PyTorch sub用法及代碼示例
- Python PyTorch sentencepiece_numericalizer用法及代碼示例
- Python PyTorch symeig用法及代碼示例
- Python PyTorch sinh用法及代碼示例
- Python PyTorch sinc用法及代碼示例
- Python PyTorch std_mean用法及代碼示例
- Python PyTorch slogdet用法及代碼示例
- Python PyTorch symbolic_trace用法及代碼示例
- Python PyTorch shutdown用法及代碼示例
- Python PyTorch sgn用法及代碼示例
- Python PyTorch set_flush_denormal用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.utils.parametrizations.spectral_norm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。