演示gradients基本用法

一 实例描述
通过定义两个矩阵相乘来演示使用gradients求梯度。
在反向传播过程中,神经网络需要对每一个loss对应的学习参数求偏导。算出的这个值叫梯度,用来乘以学习率然后更新学习参数使用的。它是通过tf.gradients函数来实现的。tf.gradients函数里的第一个参数为求导公式,第二个参数为指定公式中哪个变量来求偏导。

二 代码
import tensorflow as tf
w1 = tf.Variable([[1,2]])
y = tf.matmul(w1, [[9],[10]])
#grads = tf.gradients(y,[w1,w2])#w2不相干,会报错
grads = tf.gradients(y,[w1])
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    gradval = sess.run(grads)
    print(gradval)
三 运行结果
[array([[ 9, 10]])]
上面例子中,由于y是由w1与[[9],[20]]相乘而来,所以导数也就是[[ 9, 10]](斜率)。

四 参考

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/80315688
今日推荐