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])