提交 86787872 authored 作者: abergeron's avatar abergeron 提交者: GitHub

Merge pull request #5891 from vikramnitin9/zero

R_op for ZeroGrad + tests
......@@ -2058,6 +2058,12 @@ class ZeroGrad(ViewOp):
def grad(self, args, g_outs):
return [g_out.zeros_like(g_out) for g_out in g_outs]
def R_op(self, inputs, eval_points):
if eval_points[0] is None:
return [None]
return theano.tensor.zeros(1)
zero_grad_ = ZeroGrad()
......
......@@ -676,6 +676,23 @@ class TestZeroGrad(unittest.TestCase):
assert np.allclose(f(a), f2(a))
def test_rop(self):
T = theano.tensor
x = T.vector()
v = T.vector()
y = gradient.zero_grad(x)
rop = T.Rop(y, x, v)
f = theano.function([x, v], rop, on_unused_input='ignore')
a = np.asarray(self.rng.randn(5),
dtype=config.floatX)
u = np.asarray(self.rng.randn(5),
dtype=config.floatX)
assert np.count_nonzero(f(a, u)) == 0
class TestDisconnectedGrad(unittest.TestCase):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论