torch.nn.utils.parametrizations.weight_norm¶
- torch.nn.utils.parametrizations.weight_norm(module, name='weight', dim=0)[源代码]¶
对给定模块中的参数应用权重归一化。
权重归一化是一种重新参数化的方法,它将权重张量的大小与其方向解耦。这会用两个参数替换由
name指定的参数:一个指定大小,另一个指定方向。默认情况下,使用
dim=0,范数是独立地为每个输出通道/平面计算的。要计算整个权重张量的范数,请使用dim=None。参见 https://arxiv.org/abs/1602.07868
示例:
>>> m = weight_norm(nn.Linear(20, 40), name='weight') >>> m 参数化线性( 输入特征=20, 输出特征=40, 偏置=True (参数化): ModuleDict( (weight): 参数化列表( (0): _WeightNorm() ) ) ) >>> m.parametrizations.weight.original0.size() torch.Size([40, 1]) >>> m.parametrizations.weight.original1.size() torch.Size([40, 20])