使用 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
工作正常。
当我执行下面的代码时:
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
工作正常。