我正在尝试在pytorch中实现向后的grad函数。
但是,我不知道为什么会返回这个值。
这是我的代码。
x = Variable(torch.FloatTensor([[1,2],[3,4]]), requires_grad=True)
y = x + 2
z = y * y
gradient = torch.ones(2, 2)
z.backward(gradient)
print(x.grad)我认为结果值应该是[6,8,10,12]
由于dz/dx= 2*(x+2)和x=1,2,3,4
但返回值为[7,9,11,13]
为什么会发生这种情况..我想知道梯度,梯度函数做得怎么样。
请帮帮我。
https://stackoverflow.com/questions/44264018
复制相似问题