torch.nn.functional.normalize(input, p=2, dim=1, eps=1e-12, out=None)
本质上就是按照某个维度计算范数,p表示计算p范数(等于2就是2范数),dim计算范数的维度(这里为1,一般就是通道数那个维度)
官方参考
官方api:https://pytorch.org/docs/stable/nn.html#normalize
实例
put_ = torch.Tensor([[1,2]])
a = torch.nn.Softmax()(put_)
b = torch.nn.functional.normalize(a)
打印结果
a:
tensor([[0.2689, 0.7311]])
b:
tensor([[0.3453, 0.9385]])
b中的0.3453其实就是a中的 0.2689/根号下(0.26890.2689+0.73110.7311) = 0.3453