在哪里可以找到tensorflow中每个操作的梯度计算实现?

在哪里可以找到tensorflow中每个操作的梯度计算实现?,tensorflow,Tensorflow,我浏览了在这个python文件中实现的源代码和梯度函数 但我仍然找不到任何用于计算梯度的python api? 这个过程是什么 下面是我的代码中的一个例子,其中我取损失函数相对于网络最后一层激活的梯度,然后以单个标量值和直方图的形式将其传递给tensorboard gradient_a = tf.gradients(loss, [0], [3]), [out_layer_a], name='gradient_position_a') tf.summary.scalar('mean_gradie

我浏览了在这个python文件中实现的源代码和梯度函数

但我仍然找不到任何用于计算梯度的python api?
这个过程是什么

下面是我的代码中的一个例子,其中我取损失函数相对于网络最后一层激活的梯度,然后以单个标量值和直方图的形式将其传递给tensorboard

gradient_a = tf.gradients(loss, [0], [3]), [out_layer_a], name='gradient_position_a')
tf.summary.scalar('mean_gradient_magnitude_a', tf.reduce_mean(tf.abs(self.gradient_a)))
tf.summary.histogram('gradient_magnitude_a', gradient_a)

如果您想输出渐变,只需在调用
session.run([loss,gradient\u a],feed\u dict={…})时获取渐变

这是我的代码中的一个例子,我取了关于网络最后一层激活的损失函数的梯度,然后以单个标量值和直方图的形式将其传递给tensorboard

gradient_a = tf.gradients(loss, [0], [3]), [out_layer_a], name='gradient_position_a')
tf.summary.scalar('mean_gradient_magnitude_a', tf.reduce_mean(tf.abs(self.gradient_a)))
tf.summary.histogram('gradient_magnitude_a', gradient_a)

如果您想输出渐变,只需在调用
会话时获取渐变。运行([loss,gradient\u a],feed\u dict={…})

不,这不是我要问的。我在问你们是否知道tf在哪里实现了它的自动微分。当你们说“tensorflow在哪里实现了它的自动微分”你们是什么意思?当然,这些梯度是每个op内置的潜在自动分化机制的结果。但是我没有很清楚地理解你的评论,你能详细说明吗?你在评论中提到过“这些梯度是每个op内置的基本自动差异化机制的结果”,因为每个op tensorflow都实现了它的差异化。当我们运行Optimizer.minimize(loss)时,它将再次作为梯度op加载到图中,然后在使用链规则应用梯度时回溯。因此,我转到源代码最小化函数,从它们的函数中,我被引导到这个文件(第390行)中的def Gradients()。在这个函数里面有一个“op”的东西(第466行),我不能在那之后回溯路径。不,这不是我要问的。我在问你们是否知道tf在哪里实现了它的自动微分。当你们说“tensorflow在哪里实现了它的自动微分”你们是什么意思?当然,这些梯度是每个op内置的潜在自动分化机制的结果。但是我没有很清楚地理解你的评论,你能详细说明吗?你在评论中提到过“这些梯度是每个op内置的基本自动差异化机制的结果”,因为每个op tensorflow都实现了它的差异化。当我们运行Optimizer.minimize(loss)时,它将再次作为梯度op加载到图中,然后在使用链规则应用梯度时回溯。因此,我转到源代码最小化函数,从它们的函数中,我被引导到这个文件(第390行)中的def Gradients()。在这个函数里面有一个“op”的东西(第466行),在那之后我不能回溯路径。