我可以使用TensorFlow中的自动区分来访问特定节点的错误信号吗?

时间:2016-06-20 00:02:30

标签: tensorflow

我已经知道我可以使用compute_gradients获取变量和渐变的压缩列表,我认为这对应于∂E/∂θ,其中θ是变量条目。是否还有一种方法可以访问特定节点的错误信号,例如它们通常被定义为∂E/∂a,其中a是激活,例如输入Wx + b的仿射变换,或者在这种情况下是否需要实现我自己的反向传播算法?

1 个答案:

答案 0 :(得分:2)

您可以通过在xs的{​​{1}}参数中加入激活来获取有关激活的错误。 IE

tf.gradients

你应该看到

tf.reset_default_graph()
x = tf.placeholder(dtype=tf.float32)
a = x*x
E = 2*a
(dEda, dEdx) = tf.gradients(E, xs=[a, x])
sess = tf.Session()
sess.run([dEda, dEdx], feed_dict={x: 1})