在做项目的时候遇到需要将tensor数据归一化至0-1之间,网上找了挺久,找到了一个比较好用的方法
torch.nn.functional.normalize()
实例:
>>> x
tensor([[ 1, 2, 34],
[ 4, 5, 6]])
>>> F.normalize(x.float(),p=1,dim=1)
tensor([[0.0270, 0.0541, 0.9189],
[0.2667, 0.3333, 0.4000]])
输入
print(out)
tensor([[0.4879, 0.3976],
[0.4894, 0.4350]], device='cuda:0', grad_fn=<AddBackward0>)
归一化:
out = nn.functional.normalize(out, p=1, dim=1)
结果:
print(out)
tensor([[0.5510, 0.4490],
[0.5294, 0.4706]], device='cuda:0', grad_fn=<DivBackward0>)