为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇潇雨雨 2019-12-25 14:56:45
我想替换或修改tensorflow中图的运算或部分渐变。如果可以在计算中使用现有的梯度,那将是理想的。在某些方面,这与操作相反tf.stop_gradient():我希望添加仅在计算梯度时使用的计算,而不是添加在计算梯度时会忽略的计算。一个简单的例子就是简单地通过将梯度乘以常数来缩放比例(但不将正向计算乘以常数)。另一个例子是将梯度裁剪到给定范围的东西。
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

使用optimizer.compute_gradients或tf.gradient获取原始渐变,

然后

最终做您想做的任何事情,请使用optimizer.apply_gradients



查看完整回答
反对 回复 2019-12-25
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

假设正向计算为


y = f(x)

而您希望它像


y = b(x)

一个简单的技巧将是:


y = b(x) + tf.stop_gradient(f(x) - b(x))


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 499 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信