张量流如何计算输出相对于输入的梯度?



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

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

谢谢大家!

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

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

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

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

最新更新