Skip to content

Commit

Permalink
fix bug in convert call: tranform the static func. (#46278) (#46365)
Browse files Browse the repository at this point in the history
  • Loading branch information
2742195759 authored Sep 23, 2022
1 parent 6a50833 commit 980292c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
from paddle.fluid.dygraph.dygraph_to_static.utils import input_specs_compatible
from paddle.fluid.dygraph.dygraph_to_static.utils import type_name
from paddle.fluid.dygraph.dygraph_to_static.utils import unwrap
from paddle.fluid.dygraph.dygraph_to_static.utils import make_hashable
from paddle.fluid.dygraph.dygraph_to_static.utils import make_hashable, ALREADY_D2S
from paddle.fluid.dygraph.dygraph_to_static.function_spec import FunctionSpec, _hash_spec_names
from paddle.fluid.dygraph.dygraph_to_static.function_spec import get_buffers, get_parameters
from paddle.fluid.wrapped_decorator import signature_safe_contextmanager
Expand Down Expand Up @@ -136,8 +136,11 @@ def convert_to_static(function):
Args:
function(callable): The function with dygraph layers that will be converted into static layers.
"""
if getattr(function, ALREADY_D2S, None):
return function
with _CACHE_LOCK:
static_func = _FUNCTION_CACHE.convert_with_cache(function)
setattr(static_func, ALREADY_D2S, True)
return static_func


Expand Down
1 change: 1 addition & 0 deletions python/paddle/fluid/dygraph/dygraph_to_static/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
DYGRAPH_TO_STATIC_MODULE_PREFIX = 'paddle.fluid.dygraph.dygraph_to_static'
GET_ARGS_FUNC_PREFIX = 'get_args'
SET_ARGS_FUNC_PREFIX = 'set_args'
ALREADY_D2S = '__already_d2s'
ARGS_NAME = '__args'
# NOTE(liym27): Please use `getattr(ast_node, ORIGI_INFO)` instead of . operation to get the original information of ast node.
ORIGI_INFO = "Original information of source code for ast node."
Expand Down

0 comments on commit 980292c

Please sign in to comment.