gpt4 book ai didi

python - 如何使用 AutoGrad 包?

转载 作者:太空宇宙 更新时间:2023-11-04 04:50:00 26 4
gpt4 key购买 nike

我正在尝试做一件简单的事情:使用 autograd 获取梯度并进行梯度下降:

import tangent

def model(x):
return a*x + b

def loss(x,y):
return (y-model(x))**2.0

在获得输入输出对的损失后,我想获得损失梯度:

    l = loss(1,2)
# grad_a = gradient of loss wrt a?
a = a - grad_a
b = b - grad_b

但是库教程没有说明如何获得关于 a 或 b 的梯度,即参数 so,autograd 和 tangent 都没有。

最佳答案

您可以使用 grad 函数的第二个参数指定它:

def f(x,y):
return x*x + x*y

f_x = grad(f,0) # derivative with respect to first argument
f_y = grad(f,1) # derivative with respect to second argument

print("f(2,3) = ", f(2.0,3.0))
print("f_x(2,3) = ", f_x(2.0,3.0))
print("f_y(2,3) = ", f_y(2.0,3.0))

在您的情况下,“a”和“b”应该是损失函数的输入,损失函数会将它们传递给模型以计算导数。

我刚刚回答了一个类似的问题: Partial Derivative using Autograd

关于python - 如何使用 AutoGrad 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48583421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com