1

我想将一些具有自定义渐变的自定义操作从 Chainer 转换为 Tensorflow。前传比较简单,我已经有了。但是对于向后传递,我永远无法使优化工作。让我们假设 Chainer 中的反向传递是这样的:

def backward_gpu(self, inputs, grad_outputs):
    return some_operation(inputs, grad_outputs[0]) 

我在 Tensorflow 中通过以下方式做到了这一点:

@tf.RegisterGradient('Forward')
def _rasterize_grad(op, grads):
    return some_operation(op.inputs, grads[0])

根据我在网上找到的文档,我认为grad_outputsgrads的计算方式相同。但不知何故我失败了。

任何人都可以对此有所了解吗?那将不胜感激。

4

0 回答 0