pytorch не вычисляет правильный градиент - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь нормализовать массив так, чтобы он составил 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])
...