错误示例:
以上代码报错:![](https://i-blog.csdnimg.cn/blog_migrate/1d1511ba14dafe7cb2655d86cd1f81a9.png)
应该是因为对函数求导时,两个变量应该放一起求导,不能两个分别求导
正确代码:
import tensorflow as tf
x = tf.constant([[1., 2.], [3., 4.]])
y = tf.constant([[1.], [2.]])
w = tf.Variable(initial_value=[[1.], [2.]])
b = tf.Variable(initial_value=1.)
with tf.GradientTape() as tape:
L = tf.reduce_sum(tf.square(tf.matmul(x, w) + b - y))
L_gradient_w, L_gradient_b = tape.gradient(L, [w, b])
print(L_gradient_b, L_gradient_w)