2024-06-09 16:40:30 发布
网友
我试着做一件简单的事情:使用自动栅格获取渐变并进行渐变下降:
import tangent def model(x): return a*x + b def loss(x,y): return (y-model(x))**2.0
在得到输入输出对的损耗后,我想得到梯度与损耗的关系:
但是库教程并没有说明如何获得关于a或b的梯度,也就是参数,所以既没有autograd也没有切线。在
可以使用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
可以使用grad函数的第二个参数指定此参数:
在你的例子中,“a”和“b”应该是损失函数的输入,损失函数将它们传递给模型,以便计算导数。在
我刚回答了一个类似的问题: Partial Derivative using Autograd
相关问题 更多 >
编程相关推荐