Tensorflow,tf.gradients计算

时间:2018-02-09 18:41:58

标签: python tensorflow deep-learning

我正在学习如何使用Tensorflow,在这个特定的点上,我真的被卡住了,无法理解它。想象一下,我有一个5层网络,输出由 Intent iin= getIntent(); Bundle b = iin.getExtras(); if(b!=null) { String n =(String) b.get("user_email"); } 表示。现在假设我想找到output相对于output的渐变。为此,我将在Tensorflow中编写的代码类似于:

layer_2

理论上,这个梯度应该通过链规则来计算。我想问一下,Tensorflow是否通过链式规则计算这些梯度,或者它只取gradients_i_want = tf.gradients(output, layer_2) 相对于output

的导数

1 个答案:

答案 0 :(得分:0)

Tensorflow将为您的模型创建一个图形,其中每个节点都是一个操作(例如,加法,乘法或它们的组合)。基本操作具有手动定义的梯度函数,并且在向后移动图形时应用链规则时将使用这些函数。

如果您编写自己的自定义op,则可能还需要编写相应的渐变函数。