提交 df77628b authored 作者: ChienliMa's avatar ChienliMa

minor modification in test_function_module.py

上级 0f599ff0
...@@ -573,7 +573,7 @@ class Function(object): ...@@ -573,7 +573,7 @@ class Function(object):
# copy fgraph and get memo # copy fgraph and get memo
maker = self.maker maker = self.maker
<<<<<<< HEAD
fg_cpy, memo = maker.fgraph.clone_get_equiv(attach_feature=False) fg_cpy, memo = maker.fgraph.clone_get_equiv(attach_feature=False)
# use copied ins, outs and fgraph to init a maker # use copied ins, outs and fgraph to init a maker
...@@ -581,13 +581,7 @@ class Function(object): ...@@ -581,13 +581,7 @@ class Function(object):
fgraph=fg_cpy, profile=maker.profile, fgraph=fg_cpy, profile=maker.profile,
accept_inplace=maker.accept_inplace, accept_inplace=maker.accept_inplace,
function_builder=maker.function_builder, function_builder=maker.function_builder,
=======
new_maker = FunctionMaker(inputs=ins, outputs=outs, mode=maker.mode,
fgraph=new_fgraph, profile=maker.profile,
accept_inplace=maker.accept_inplace,
function_builder=maker.function_builder,
on_unused_input=maker.on_unused_input) on_unused_input=maker.on_unused_input)
>>>>>>> 6ba7c5d... Small modification to copy(). Testcase is finished. Start debuging.
# construct new storage_map that map new variable to old storage # construct new storage_map that map new variable to old storage
# so that the ensuing function shares storage with the original one # so that the ensuing function shares storage with the original one
...@@ -601,7 +595,6 @@ class Function(object): ...@@ -601,7 +595,6 @@ class Function(object):
# But to be safe for now as it isn't documented and we aren't sure # But to be safe for now as it isn't documented and we aren't sure
# it is well tested, we don't share the part of the storage_map. # it is well tested, we don't share the part of the storage_map.
for key in storage_map.keys(): for key in storage_map.keys():
<<<<<<< HEAD
if key not in self.maker.fgraph.outputs and if key not in self.maker.fgraph.outputs and
not isinstance(key, theano.tensor.Constant): not isinstance(key, theano.tensor.Constant):
new_storage_map[memo[key]] = storage_map[key] new_storage_map[memo[key]] = storage_map[key]
...@@ -618,24 +611,6 @@ class Function(object): ...@@ -618,24 +611,6 @@ class Function(object):
new_func = new_maker.create(input_storage, storage_map=new_storage_map) new_func = new_maker.create(input_storage, storage_map=new_storage_map)
=======
# output_storages should not be shared
if key not in self.maker.fgraph.outputs and \
memo.has_key(key):
new_storage_map[memo[key]] = storage_map[key]
# copy input storages and link function with new storage_map
input_storage = copy.copy([getattr(i, 'value', None) for i in ins])
new_func = new_maker.create(input_storage, storage_map=new_storage_map)
# share immutable SharedVariable's storage
for (input, _1, _2), here, there in zip(self.indices,
self.input_storage,
new_func.input_storage):
if not input.mutable:
there.data = here.data
>>>>>>> 6ba7c5d... Small modification to copy(). Testcase is finished. Start debuging.
return new_func return new_func
def __call__(self, *args, **kwargs): def __call__(self, *args, **kwargs):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论