Я пытаюсь нормализовать массив так, чтобы он составил 1.
Я сделал следующие вычисления, однако выходной градиент кажется неправильным. (почему все одинаковые ?? они должны быть связаны с каждым элементом в a
код:
a = torch.rand(10, requires_grad=True)
print(a)
x = torch.sum(a)
y = a / x
y.backward(torch.ones_like(a))
pp(a.grad)
вывод:
tensor([0.6022, 0.6065, 0.0329, 0.3639, 0.2053, 0.1006, 0.6993, 0.1843, 0.0400,
0.2939], requires_grad=True)
tensor([-5.9605e-08, -5.9605e-08, -5.9605e-08, -5.9605e-08, -5.9605e-08,
-5.9605e-08, -5.9605e-08, -5.9605e-08, -5.9605e-08, -5.9605e-08])