提交 867e6981 authored 作者: Pascal Lamblin's avatar Pascal Lamblin

Give a deterministic name to composite ops

Since the name gets into the C code, this would cause different modules (with different C code) to have equal keys.
上级 2fa3af87
...@@ -1961,12 +1961,13 @@ class Composite(ScalarOp): ...@@ -1961,12 +1961,13 @@ class Composite(ScalarOp):
if not hasattr(self,"name"): if not hasattr(self,"name"):
l=[] l=[]
for n in env.nodes: for n in env.toposort():
if hasattr(n.op,"name") and n.op.name is not None: if hasattr(n.op,"name") and n.op.name is not None:
v=n.op.name v=n.op.name
if v.startswith("Composite"): if v.startswith("Composite"):
v = v[len("Composite"):] v = v[len("Composite"):]
else: v=n.op.__class__.__name__ else:
v=n.op.__class__.__name__
l.append(v) l.append(v)
self.name="Composite{"+",".join(l)+"}" self.name="Composite{"+",".join(l)+"}"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论