相关疑难解决方法(0)

PyTorch中的向后功能

我对pytorch的向后功能有些疑问,我认为我没有得到正确的输出

import numpy as np
import torch
from torch.autograd import Variable
a = Variable(torch.FloatTensor([[1,2,3],[4,5,6]]), requires_grad=True) 
out = a * a
out.backward(a)
print(a.grad)
Run Code Online (Sandbox Code Playgroud)

输出是

tensor([[ 2.,  8., 18.],
        [32., 50., 72.]])
Run Code Online (Sandbox Code Playgroud)

也许是 2*a*a

但我认为输出应该是

tensor([[ 2.,  4., 6.],
        [8., 10., 12.]])
Run Code Online (Sandbox Code Playgroud)

2*a. 原因 d(x^2)/dx=2x

machine-learning gradient-descent pytorch autograd

3
推荐指数
1
解决办法
239
查看次数