提交 6e758c8f authored 作者: Frederic's avatar Frederic

Don't pre-merge constant that aren't hashable.

上级 dabbc4e2
...@@ -736,9 +736,14 @@ def pre_constant_merge(vars): ...@@ -736,9 +736,14 @@ def pre_constant_merge(vars):
seen_var.add(var) seen_var.add(var)
if isinstance(var, graph.Constant): if isinstance(var, graph.Constant):
sig = var.signature() sig = var.signature()
if sig in const_sig_inv: try:
return const_sig_inv[sig] if sig in const_sig_inv:
const_sig_inv[sig] = var return const_sig_inv[sig]
const_sig_inv[sig] = var
except TypeError: # unhashable type
# Some python object like slice aren't hashable. So
# don't merge them here.
pass
return var return var
if var.owner: if var.owner:
for idx, inp in enumerate(var.owner.inputs): for idx, inp in enumerate(var.owner.inputs):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论