提交 c2775860 authored 作者: Frederic Bastien's avatar Frederic Bastien 提交者: Frederic

allow debugprint() to work on list/tuple of any of the objects is support.

上级 5b5f672d
...@@ -82,6 +82,11 @@ def debugprint(obj, depth=-1, print_type=False, ...@@ -82,6 +82,11 @@ def debugprint(obj, depth=-1, print_type=False,
done = dict() done = dict()
results_to_print = [] results_to_print = []
order = [] order = []
if isinstance(obj, (list, tuple)):
lobj = obj
else:
lobj = [obj]
for obj in lobj:
if isinstance(obj, gof.Variable): if isinstance(obj, gof.Variable):
results_to_print.append(obj) results_to_print.append(obj)
elif isinstance(obj, gof.Apply): elif isinstance(obj, gof.Apply):
...@@ -89,15 +94,14 @@ def debugprint(obj, depth=-1, print_type=False, ...@@ -89,15 +94,14 @@ def debugprint(obj, depth=-1, print_type=False,
elif isinstance(obj, Function): elif isinstance(obj, Function):
results_to_print.extend(obj.maker.fgraph.outputs) results_to_print.extend(obj.maker.fgraph.outputs)
order = obj.maker.fgraph.toposort() order = obj.maker.fgraph.toposort()
elif isinstance(obj, (list, tuple)):
results_to_print.extend(obj)
elif isinstance(obj, gof.FunctionGraph): elif isinstance(obj, gof.FunctionGraph):
results_to_print.extend(obj.outputs) results_to_print.extend(obj.outputs)
order = obj.toposort() order = obj.toposort()
elif isinstance(obj, (int, long, float, numpy.ndarray)): elif isinstance(obj, (int, long, float, numpy.ndarray)):
print obj print obj
else: else:
raise TypeError("debugprint cannot print an object of this type", obj) raise TypeError("debugprint cannot print an object of this type",
obj)
for r in results_to_print: for r in results_to_print:
debugmode.debugprint(r, depth=depth, done=done, print_type=print_type, debugmode.debugprint(r, depth=depth, done=done, print_type=print_type,
file=_file, order=order, ids=ids, file=_file, order=order, ids=ids,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论