1
tf.floor
return无梯度
这意味着floor
操作之前的权重不会更新,对不对?
但我仍然需要渐变来更新权重
这不是很奇怪吗?有时我们使用floor
,ceil
......但他们不能提供渐变或这是正确的行动
以及tf.cast
,梯度回报没有tf.floor的梯度为无
这里有一个问题#897讨论梯度,但我不”理解为什么返回没有好
numa = tf.constant(5.3)
res1 = numa * 2
res2 = tf.floor(numa *2)
print tf.gradients(res1, numa)
# <type 'list'>: [<tf.Tensor 'gradients/mul_grad/Reshape:0' shape=() dtype=float32>]
print tf.gradients(res2, numa)
# None
我可以直接修改math_grad.py
吗?需要其他行动?
东西像删除math_grad.pyc
?
@ops.RegisterGradient("Floor")
def _FloorGrad(_, unused_grad):
# return [None] # before
return [unused_grad] # I want to modify