fixed critical bug in perform_like_c applied to single-output ops

上级 c67d8d62
...@@ -223,7 +223,8 @@ class PythonOp(Op): ...@@ -223,7 +223,8 @@ class PythonOp(Op):
def _perform(self): def _perform(self):
results = self._impl() results = self._impl()
if self.nout == 1: if self.nout == 1:
self.out.set_value(results) #self.out.set_value(results)
self.outputs[0].data = results
else: else:
assert self.nout == len(results) assert self.nout == len(results)
for result, output in zip(results, self.outputs): for result, output in zip(results, self.outputs):
...@@ -232,7 +233,7 @@ class PythonOp(Op): ...@@ -232,7 +233,7 @@ class PythonOp(Op):
def _perform_like_c(self): def _perform_like_c(self):
results = self._impl() results = self._impl()
if self.nout == 1: if self.nout == 1:
self.out.set_value(results) self.outputs[0].data[:] = results
else: else:
assert self.nout == len(results) assert self.nout == len(results)
for result, output in zip(results, self.outputs): for result, output in zip(results, self.outputs):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论