Tensorflow:如何替换或修改渐变?

我想替换或修改tensorflow中图的运算或部分渐变。如果可以在计算中使用现有的梯度,那将是理想的。

在某些方面,这与操作相反tf.stop_gradient():我希望添加仅在计算梯度时使用的计算,而不是添加在计算梯度时会忽略的计算。

一个简单的例子就是简单地通过将梯度乘以常数来缩放比例(但不将正向计算乘以常数)。另一个例子是将梯度裁剪到给定范围的东西。


潇潇雨雨
浏览 500回答 3
3回答

明月笑刀无情

使用optimizer.compute_gradients或tf.gradient获取原始渐变,然后最终做您想做的任何事情,请使用optimizer.apply_gradients

陪伴而非守候

假设正向计算为y = f(x)而您希望它像y = b(x)一个简单的技巧将是:y = b(x) + tf.stop_gradient(f(x) - b(x))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python