提交 cc5f4917 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Check that classes are instances of PureOp.

上级 0649b4bf
...@@ -804,7 +804,7 @@ def local_optimizer(tracks): ...@@ -804,7 +804,7 @@ def local_optimizer(tracks):
if len(tracks) is 0: if len(tracks) is 0:
raise ValueError, ("Use None instead of an empty list to apply to all nodes.", f.__module__, f.__name__) raise ValueError, ("Use None instead of an empty list to apply to all nodes.", f.__module__, f.__name__)
for t in tracks: for t in tracks:
if not (isinstance(t, type) or isinstance(t, op.Op)): if not (isinstance(t, op.Op) or issubclass(t, op.PureOp)):
raise ValueError, ("Tracks are op classes or instances", f.__module__, f.__name__) raise ValueError, ("Tracks are op classes or instances", f.__module__, f.__name__)
rval = FromFunctionLocalOptimizer(f, tracks) rval = FromFunctionLocalOptimizer(f, tracks)
rval.__name__ = f.__name__ rval.__name__ = f.__name__
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论