22

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)

出力は

tensor([[ 2.,  8., 18.],
        [32., 50., 72.]])

多分それは2*a*a

しかし、出力は次のようになると思います

tensor([[ 2.,  4., 6.],
        [8., 10., 12.]])

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

4

1 に答える 1