使用 PyTorch 计算函数的导数

Using PyTorch for computing derivative of a function

当我执行下面的代码时:

import torch 

def g(x):
    return 4*x + 3
x=3.0
g_hat=torch.tensor(g(x), requires_grad= True)
g_hat.backward()

我得到以下输出:

>>>g_hat.grad
tensor(1.)

但这不是我期望从上面的代码中得到的结果...我想做的是,我想在 x = 3.0 处找到 dg/dx 的值(所以在上面的例子中,正确的输出应该是tensor(4.))。 我如何使用 PyTorch 实现这一目标?或者,如果我无法使用 PyTorch 执行此任务,我如何才能在 Python?

上轻松完成此类任务

谢谢,

x = torch.autograd.Variable(torch.Tensor([1.0]),requires_grad=True)
y = 4 * x + 3
y.backward()
x.grad

工作正常。