Tensorflow如何计算输出相对于输入的梯度?

时间:2018-09-09 13:45:39

标签: python tensorflow gradient-descent

最近,我尝试做一些实验,我有一个神经网络D(x),其中x是批处理大小为64的输入图像。我想计算D(x)相对于x的梯度。我应该按以下方式进行计算吗?

grad = tf.gradients(D(x), [x])

谢谢大家!

2 个答案:

答案 0 :(得分:1)

是的,您将需要使用tf.gradients。有关更多详细信息,请参见https://www.tensorflow.org/api_docs/python/tf/gradients

答案 1 :(得分:0)

在训练神经网络期间,通常相对于输入计算loss function的梯度。这是因为,可以很好地定义损失函数及其梯度。

但是,如果您谈论输出D(x)的梯度,我认为这是一些向量。您将需要定义相对于其输入(即生成输出的图层)如何计算梯度。

该实现的确切细节取决于您使用的框架。