如何在Tensorflow中获得关于激活的损失梯度

时间:2016-01-15 06:16:07

标签: tensorflow

cifar10示例中,相对于参数的损失梯度可以按如下方式计算:

grads_and_vars = opt.compute_gradients(loss)
for grad, var in grads_and_vars:
    # ...

有没有办法获得关于激活(而不是参数)的损失梯度,并在Tensorboard中观察它们?

1 个答案:

答案 0 :(得分:5)

您可以使用tf.gradients()函数计算任何标量张量相对于任何其他张量的梯度(假设为这两个张量之间的所有操作定义了渐变):

$("signup-button").on("click", function(e) {
   alert($('#email').val());
});

在TensorBoard中对此进行可视化通常很棘手,因为activations = ... loss = f(..., activations) # `loss` is some function of `activations`. grad_wrt_activations, = tf.gradients(loss, [activation]) (通常)是一个与grad_wrt_activation具有相同形状的张量。添加tf.histogram_summary()操作可能是最简单的可视化方法

activation