[英]Pytorch: tensor normalization giving bad result
我有一个要标准化的经度/纬度张量。 我想使用这个张量对其执行神经网络算法,以返回这些不同的经纬度之间的最佳行程。 我使用了这个功能:
from torch.nn.functional import normalize
t=normalize(locations)
这是我的张量 [ 0.0000, 36.4672, 36.4735, 36.4705, 36.4638, 36.4671], [ 0.0000, 10.7637, 10.7849, 10.7822, 10.7821, 10.7637]]
这是标准化后的结果:[0.0000, 0.2181, 0.2181, 0.2181, 0.2179, 0.2179], [0.0000, 0.2186, 0.2194, 0.2194, 0.2196, 0.2188]],
如您所见,结果不好,因为有很多值重复,这影响了我的结果。 还有另一种方法可以使我的张量正常化吗? 我在这个项目中使用 pytorch。
这就是torch.nn.functional.normalize
工作原理。
在我看来,您应该将原始张量值除以经度/纬度可以具有的最大值,使张量的值范围为[0, 1]
。
此外,我尝试过:
import torch
import torch.nn.functional as F
a = torch.tensor([[0.0000, 36.4672, 36.4735, 36.4705, 36.4638, 36.4671], [ 0.0000, 10.7637, 10.7849, 10.7822, 10.7821, 10.7637]])
res = F.normalize(a)
结果是:
tensor([[0.0000, 0.4472, 0.4473, 0.4472, 0.4472, 0.4472],
[0.0000, 0.4467, 0.4476, 0.4475, 0.4475, 0.4467]])
你是怎么得到你的结果的?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.