提交 391aa934 authored 作者: Dustin Webb's avatar Dustin Webb

Fixed bug wherein graph had more than one input but only one alloc and it tried…

Fixed bug wherein graph had more than one input but only one alloc and it tried to use an input without alloc as a baseline.
上级 169f42eb
...@@ -1408,6 +1408,7 @@ def local_useless_elemwise(node): ...@@ -1408,6 +1408,7 @@ def local_useless_elemwise(node):
return [node.inputs[0]] return [node.inputs[0]]
if node.op.scalar_op == theano.scalar.add and len(node.inputs) == 1: if node.op.scalar_op == theano.scalar.add and len(node.inputs) == 1:
return [node.inputs[0]] return [node.inputs[0]]
if (node.op.scalar_op == theano.scalar.identity if (node.op.scalar_op == theano.scalar.identity
and len(node.inputs) == 1): and len(node.inputs) == 1):
return [node.inputs[0]] return [node.inputs[0]]
...@@ -1592,9 +1593,9 @@ def local_alloc_elemwise(node): ...@@ -1592,9 +1593,9 @@ def local_alloc_elemwise(node):
if assert_op_idx < 0: if assert_op_idx < 0:
# We want to optimize as many allocs as possible. When there is more # We want to optimize as many allocs as possible. When there is more
# than one then do all but one. # than one then do all but one.
if len(node.inputs) > 1: if len([i for i in node.inputs
if i.type.broadcastable == node.outputs[0].type.broadcastable]) > 1:
assert_op_idx = 0 # The first one is as good as any to use. assert_op_idx = 0 # The first one is as good as any to use.
else: else:
# Otherwise nothing can be done. # Otherwise nothing can be done.
return False return False
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论