[英]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.