本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。