提交 0c2136ff authored 作者: Frederic's avatar Frederic

Better test

上级 175159a3
...@@ -90,34 +90,31 @@ def test_dot22scalar(): ...@@ -90,34 +90,31 @@ def test_dot22scalar():
[a, b], [a, b],
tensor.dot(a, b) * numpy.asarray(4, 'float32')) tensor.dot(a, b) * numpy.asarray(4, 'float32'))
t = f.maker.fgraph.toposort() t = f.maker.fgraph.toposort()
if any([isinstance(n.op, tcn.blas.GpuDot22Scalar) for n in t]): assert any([isinstance(n.op, tcn.blas.GpuGemm) for n in t])
assert len(t) == 4, t assert any([isinstance(n.op, tcn.basic_ops.GpuAllocEmpty)
assert isinstance(t[0].op, tcn.GpuFromHost) for n in t])
assert isinstance(t[1].op, tcn.GpuFromHost)
assert isinstance(t[2].op, tcn.blas.GpuDot22Scalar)
assert isinstance(t[3].op, tcn.HostFromGpu)
else:
assert any([isinstance(n.op, tcn.blas.GpuGemm) for n in t])
assert any([isinstance(n.op, tcn.basic_ops.GpuAllocEmpty)
for n in t])
assert numpy.allclose(f(av, bv), f2(av, bv)) assert numpy.allclose(f(av, bv), f2(av, bv))
f = theano.function([a, b, scalar], tensor.dot(a, b) * scalar, f = theano.function([a, b, scalar], tensor.dot(a, b) * scalar,
mode=mode_with_gpu) mode=mode_with_gpu)
f2 = theano.function([a, b, scalar], tensor.dot(a, b) * scalar) f2 = theano.function([a, b, scalar], tensor.dot(a, b) * scalar)
t = f.maker.fgraph.toposort() t = f.maker.fgraph.toposort()
if any([isinstance(n.op, tcn.blas.GpuDot22Scalar) for n in t]): assert any([isinstance(n.op, tcn.blas.GpuGemm) for n in t])
assert len(t) == 4 assert any([isinstance(n.op, tcn.basic_ops.GpuAllocEmpty)
assert isinstance(t[0].op, tcn.GpuFromHost) for n in t])
assert isinstance(t[1].op, tcn.GpuFromHost)
assert isinstance(t[2].op, tcn.blas.GpuDot22Scalar)
assert isinstance(t[3].op, tcn.HostFromGpu)
else:
assert any([isinstance(n.op, tcn.blas.GpuGemm) for n in t])
assert any([isinstance(n.op, tcn.basic_ops.GpuAllocEmpty)
for n in t])
assert numpy.allclose(f(av, bv, 0.5), f2(av, bv, 0.5)) assert numpy.allclose(f(av, bv, 0.5), f2(av, bv, 0.5))
f = theano.function([a, b, scalar],
tensor.blas._dot22scalar(a, b, scalar),
mode=mode_with_gpu)
f2 = theano.function([a, b, scalar], tensor.dot(a, b) * scalar)
t = f.maker.fgraph.toposort()
assert len(t) == 4
assert isinstance(t[0].op, tcn.GpuFromHost)
assert isinstance(t[1].op, tcn.GpuFromHost)
assert isinstance(t[2].op, tcn.blas.GpuDot22Scalar)
assert isinstance(t[3].op, tcn.HostFromGpu)
assert numpy.allclose(f(av, bv, 0.5), f2(av, bv, 0.5))
cmp((3, 4), (4, 5)) cmp((3, 4), (4, 5))
cmp((0, 4), (4, 5)) cmp((0, 4), (4, 5))
cmp((3, 4), (4, 0)) cmp((3, 4), (4, 0))
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论