提交 80d38b68 authored 作者: Frederic Bastien's avatar Frederic Bastien

moved an inline function to don't create it too often.

上级 9c40f5ef
...@@ -373,6 +373,14 @@ def test_elemwise_composite_float64(): ...@@ -373,6 +373,14 @@ def test_elemwise_composite_float64():
av = theano._asarray(numpy.random.rand(4,4), dtype='float32') av = theano._asarray(numpy.random.rand(4,4), dtype='float32')
bv = numpy.ones((4,4), dtype='float32') bv = numpy.ones((4,4), dtype='float32')
def get_all_basic_scalar(composite_op):
l=[]
for i in composite_op.env.toposort():
if isinstance(i, theano.scalar.Composite):
l += get_all_basic_scalar(i)
else:
l.append(i)
return l
for mode in [mode_with_gpu, mode_with_gpu.excluding('gpu_after_fusion'), mode_with_gpu.excluding('elemwise_fusion')]: for mode in [mode_with_gpu, mode_with_gpu.excluding('gpu_after_fusion'), mode_with_gpu.excluding('elemwise_fusion')]:
f = pfunc([a,b], tensor.cast(tensor.lt(tensor.cast(a,'float64')**2,#*numpy.asarray(2, 'float32'), f = pfunc([a,b], tensor.cast(tensor.lt(tensor.cast(a,'float64')**2,#*numpy.asarray(2, 'float32'),
b), b),
...@@ -384,14 +392,6 @@ def test_elemwise_composite_float64(): ...@@ -384,14 +392,6 @@ def test_elemwise_composite_float64():
for node in f.maker.env.toposort(): for node in f.maker.env.toposort():
if isinstance(node.op, cuda.GpuElemwise): if isinstance(node.op, cuda.GpuElemwise):
if isinstance(node.op.scalar_op, theano.scalar.Composite): if isinstance(node.op.scalar_op, theano.scalar.Composite):
def get_all_basic_scalar(composite_op):
l=[]
for i in composite_op.env.toposort():
if isinstance(i, theano.scalar.Composite):
l += get_all_basic_scalar(i)
else:
l.append(i)
return l
scals = get_all_basic_scalar(node.op.scalar_op) scals = get_all_basic_scalar(node.op.scalar_op)
for s in scals: for s in scals:
assert not any([i.type.dtype=='float64' for i in s.inputs+s.outputs]) assert not any([i.type.dtype=='float64' for i in s.inputs+s.outputs])
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论