提交 52dff24f authored 作者: James Bergstra's avatar James Bergstra

added reason parameter to Env replace, change_input

上级 1ab81f84
...@@ -270,7 +270,7 @@ class Env(utils.object2): ...@@ -270,7 +270,7 @@ class Env(utils.object2):
### change input ### ### change input ###
def change_input(self, node, i, new_r): def change_input(self, node, i, new_r, reason=None):
"""WRITEME """WRITEME
Changes node.inputs[i] to new_r. Changes node.inputs[i] to new_r.
...@@ -297,14 +297,18 @@ class Env(utils.object2): ...@@ -297,14 +297,18 @@ class Env(utils.object2):
self.__import_r__([new_r]) self.__import_r__([new_r])
self.__add_clients__(new_r, [(node, i)]) self.__add_clients__(new_r, [(node, i)])
prune = self.__remove_clients__(r, [(node, i)], False) prune = self.__remove_clients__(r, [(node, i)], False)
self.execute_callbacks('on_change_input', node, i, r, new_r) if reason is None:
self.execute_callbacks('on_change_input', node, i, r, new_r)
else:
self.execute_callbacks('on_change_input_with_reason', node, i, r, new_r, reason)
if prune: if prune:
self.__prune_r__([r]) self.__prune_r__([r])
### replace ### ### replace ###
def replace(self, r, new_r): def replace(self, r, new_r, reason=None):
""" WRITEME """ WRITEME
This is the main interface to manipulate the subgraph in Env. This is the main interface to manipulate the subgraph in Env.
For every node that uses r as input, makes it use new_r instead. For every node that uses r as input, makes it use new_r instead.
...@@ -320,12 +324,12 @@ class Env(utils.object2): ...@@ -320,12 +324,12 @@ class Env(utils.object2):
for node, i in list(r.clients): for node, i in list(r.clients):
assert node == 'output' and self.outputs[i] is r or node.inputs[i] is r assert node == 'output' and self.outputs[i] is r or node.inputs[i] is r
self.change_input(node, i, new_r) self.change_input(node, i, new_r, reason=reason)
def replace_all(self, pairs): def replace_all(self, pairs, reason=None):
"""WRITEME""" """WRITEME"""
for r, new_r in pairs: for r, new_r in pairs:
self.replace(r, new_r) self.replace(r, new_r, reason=reason)
### features ### ### features ###
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论