提交 b2fd4e48 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

added __copy__ to Function

上级 7a6c444d
...@@ -59,6 +59,8 @@ class Function: ...@@ -59,6 +59,8 @@ class Function:
features - features to add to the env features - features to add to the env
optimizer - an optimizer to apply to the copied graph, before linking optimizer - an optimizer to apply to the copied graph, before linking
linker_cls - a callable that takes an env and returns a Linker linker_cls - a callable that takes an env and returns a Linker
profiler - a Profiler for the produced function (only valid if the
linker_cls's make_function takes a profiler argument)
unpack_single - unpack return value lists of length 1 unpack_single - unpack return value lists of length 1
- see Linker.make_function - see Linker.make_function
keep_locals - add the local variables from __init__ to the class keep_locals - add the local variables from __init__ to the class
...@@ -108,10 +110,29 @@ class Function: ...@@ -108,10 +110,29 @@ class Function:
self.fn = linker.make_function(inplace=True, self.fn = linker.make_function(inplace=True,
unpack_single=unpack_single, unpack_single=unpack_single,
profiler=profiler) profiler=profiler)
self.inputs = inputs
self.outputs = outputs
self.features = features
self.optimizer = optimizer
self.linker_cls = linker_cls
self.profiler = profiler
self.unpack_single = unpack_single
self.except_unreachable_input = except_unreachable_input
self.keep_locals = keep_locals
def __call__(self, *args): def __call__(self, *args):
return self.fn(*args) return self.fn(*args)
def __copy__(self):
return Function(self.inputs, self.outputs,
features = self.features,
optimizer = self.optimizer,
linker_cls = self.linker_cls,
profiler = self.profiler,
unpack_single = self.unpack_single,
except_unreachable_input = self.except_unreachable_input,
keep_locals = self.keep_locals)
def eval_outputs(outputs, def eval_outputs(outputs,
features = [], features = [],
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论