diff --git a/python/paddle/fluid/backward.py b/python/paddle/fluid/backward.py index c40b8db6948cf3c07aa7c0b41eef0bfa576e8e6e..0dbf840b9902e8c5c9cea692cc041d791bcd3479 100644 --- a/python/paddle/fluid/backward.py +++ b/python/paddle/fluid/backward.py @@ -1272,6 +1272,7 @@ def _get_no_grad_set_name(no_grad_set): return no_grad_set_name +@framework.static_only def append_backward(loss, parameter_list=None, no_grad_set=None, @@ -1861,6 +1862,7 @@ def calc_gradient(targets, inputs, target_gradients=None, no_grad_set=None): return grad_vars +@framework.static_only def gradients(targets, inputs, target_gradients=None, no_grad_set=None): """ :api_attr: Static Graph diff --git a/python/paddle/fluid/framework.py b/python/paddle/fluid/framework.py index 28891871777d7ef204142a142a3d104ef4a9f9e4..3a2d99085b3ccd7fdfed8e93db810b3179162030 100644 --- a/python/paddle/fluid/framework.py +++ b/python/paddle/fluid/framework.py @@ -229,7 +229,7 @@ def _dygraph_only_(func): def _static_only_(func): def __impl__(*args, **kwargs): assert not in_dygraph_mode( - ), "We only support '%s()' in static graph mode, please call 'paddle.enable_static()' to enter static graph mode." % func.__name__ + ), "In PaddlePaddle 2.x, we turn on dynamic graph mode by default, and '%s()' is only supported in static graph mode. So if you want to use this api, please call 'paddle.enable_static()' before this api to enter static graph mode." % func.__name__ return func(*args, **kwargs) return __impl__ diff --git a/python/paddle/fluid/input.py b/python/paddle/fluid/input.py index e56d1876e3f01087471953840f88d09e56568af2..2c4a9272648dcf1a168ea7fc3a4fa0a2c2cdf17d 100644 --- a/python/paddle/fluid/input.py +++ b/python/paddle/fluid/input.py @@ -14,7 +14,7 @@ from __future__ import print_function import warnings -from .framework import Variable, in_dygraph_mode +from .framework import Variable, in_dygraph_mode, static_only from .layer_helper import LayerHelper from .data_feeder import check_variable_and_dtype, check_dtype from ..utils import deprecated @@ -129,6 +129,7 @@ def one_hot(input, depth, allow_out_of_range=False): return one_hot_out +@static_only @deprecated(since='2.0.0', update_to='paddle.nn.functional.embedding') def embedding(input, size, diff --git a/python/paddle/fluid/io.py b/python/paddle/fluid/io.py index ebaa145d40021c24b832d8de379f5bb352d01780..e65210331a1500aa92fa0d83055c021658c49fcf 100644 --- a/python/paddle/fluid/io.py +++ b/python/paddle/fluid/io.py @@ -30,7 +30,7 @@ from paddle.fluid import layers from paddle.fluid.executor import Executor, global_scope from paddle.fluid.evaluator import Evaluator from paddle.fluid.framework import Program, Parameter, default_main_program, default_startup_program, Variable, \ - program_guard, dygraph_not_support + program_guard, dygraph_not_support, static_only from paddle.reader import cache, map_readers, buffered, compose, chain, shuffle, \ ComposeNotAligned, firstn, xmap_readers, multiprocess_reader from .wrapped_decorator import signature_safe_contextmanager @@ -1710,7 +1710,7 @@ def _load_persistable_nodes(executor, dirname, graph): load_vars(executor=executor, dirname=dirname, vars=var_list) -@dygraph_not_support +@static_only def save(program, model_path): """ :api_attr: Static Graph @@ -1773,7 +1773,7 @@ def save(program, model_path): f.write(program.desc.serialize_to_string()) -@dygraph_not_support +@static_only def load(program, model_path, executor=None, var_list=None): """ :api_attr: Static Graph @@ -2107,7 +2107,7 @@ def load_program_state(model_path, var_list=None): return para_dict -@dygraph_not_support +@static_only def set_program_state(program, state_dict): """ :api_attr: Static Graph diff --git a/python/paddle/fluid/layers/control_flow.py b/python/paddle/fluid/layers/control_flow.py index b5f66a1308e0fd770d8ab3202560044c90bc0eb8..82c79d3b2f67b5a3928d2a3f52e03b3c455947ef 100755 --- a/python/paddle/fluid/layers/control_flow.py +++ b/python/paddle/fluid/layers/control_flow.py @@ -18,7 +18,7 @@ from ..wrapped_decorator import signature_safe_contextmanager from .layer_function_generator import autodoc, templatedoc from .tensor import assign, cast, fill_constant from .. import core -from ..framework import Program, Variable, Operator, in_dygraph_mode +from ..framework import Program, Variable, Operator, in_dygraph_mode, static_only from ..layer_helper import LayerHelper, unique_name from .nn import logical_and, logical_not, logical_or from .utils import assert_same_structure, map_structure, hold_mutable_vars, copy_mutable_vars @@ -211,6 +211,7 @@ def merge_lod_tensor(in_true, in_false, x, mask, level=0): return out +@static_only def Print(input, first_n=-1, message=None, diff --git a/python/paddle/fluid/layers/detection.py b/python/paddle/fluid/layers/detection.py index ce29b64ce432a3c221378e5134b778338c098ad7..de74902212c749c982811d0f881538a88650370e 100644 --- a/python/paddle/fluid/layers/detection.py +++ b/python/paddle/fluid/layers/detection.py @@ -20,7 +20,7 @@ from __future__ import print_function from .layer_function_generator import generate_layer_fn from .layer_function_generator import autodoc, templatedoc from ..layer_helper import LayerHelper -from ..framework import Variable, in_dygraph_mode +from ..framework import Variable, in_dygraph_mode, static_only from .. import core from .loss import softmax_with_cross_entropy from . import tensor @@ -2099,6 +2099,7 @@ def density_prior_box(input, return box, var +@static_only def multi_box_head(inputs, image, base_size, diff --git a/python/paddle/fluid/layers/loss.py b/python/paddle/fluid/layers/loss.py index 45f3de2d99a6b664b2651f04e009020eae11e981..5a15d4865a150006b1b1dfacb0d7a1594817a699 100644 --- a/python/paddle/fluid/layers/loss.py +++ b/python/paddle/fluid/layers/loss.py @@ -20,7 +20,7 @@ from paddle.utils import deprecated from . import nn from .layer_function_generator import templatedoc from ..layer_helper import LayerHelper -from ..framework import Variable, in_dygraph_mode +from ..framework import Variable, in_dygraph_mode, static_only from .. import core from ..data_feeder import check_variable_and_dtype, check_type from ..param_attr import ParamAttr @@ -664,6 +664,7 @@ def warpctc(input, # FIXME(wuyi): let docstring_checker.py understand @autodoc. # For now, the comments in c++ use types like Tensor, but in python side # the type is often "Variable", and arguments may vary. +@static_only @templatedoc(op_type="nce") def nce(input, label, diff --git a/python/paddle/fluid/layers/nn.py b/python/paddle/fluid/layers/nn.py index 97dea27f3b7e3f778d817761e65835927c95eedb..121ec47d947f34daa4387819131a80fc10d6a563 100755 --- a/python/paddle/fluid/layers/nn.py +++ b/python/paddle/fluid/layers/nn.py @@ -26,7 +26,7 @@ import six import paddle from ..layer_helper import LayerHelper from ..initializer import Normal, Constant, NumpyArrayInitializer -from ..framework import Variable, OpProtoHolder, in_dygraph_mode, dygraph_only, _dygraph_tracer, default_main_program, _varbase_creator +from ..framework import Variable, OpProtoHolder, in_dygraph_mode, dygraph_only, _dygraph_tracer, default_main_program, _varbase_creator, static_only from .. import dygraph_utils from ..param_attr import ParamAttr from .layer_function_generator import autodoc, templatedoc, _generate_doc_string_ @@ -3216,6 +3216,7 @@ def instance_norm(input, return instance_norm_out +@static_only def data_norm(input, act=None, epsilon=1e-05, @@ -13465,6 +13466,7 @@ class PyFuncRegistry(object): return tuple(ret) +@static_only @templatedoc() def py_func(func, x, out, backward_func=None, skip_vars_in_backward_input=None): """ diff --git a/python/paddle/fluid/parallel_executor.py b/python/paddle/fluid/parallel_executor.py index a9904d6f9823923e38aa7d44fc75570b8d8fd15d..e63270c1697f460dba70974ec84032ebae97e302 100644 --- a/python/paddle/fluid/parallel_executor.py +++ b/python/paddle/fluid/parallel_executor.py @@ -28,7 +28,7 @@ BuildStrategy = core.ParallelExecutor.BuildStrategy class ParallelExecutor(object): """ - :api_attr: Static Graph + :api_attr: Static Graph The ParallelExecutor is an upgraded version of :code:`paddle.static.Executor` that supports multi-node model training and testing based on the data-parallel mode. In data-parallel mode, diff --git a/python/paddle/static/__init__.py b/python/paddle/static/__init__.py index 7c9c034e8f9740a403d11c64c60577ae08ace618..6778149e2bf0f6fb343e5b0f3624ee58467218c0 100644 --- a/python/paddle/static/__init__.py +++ b/python/paddle/static/__init__.py @@ -19,12 +19,13 @@ __all__ = [ 'name_scope', 'ParallelExecutor', 'program_guard', 'WeightNormParamAttr', 'default_main_program', 'default_startup_program', 'Program', 'data', 'InputSpec', 'save', 'load', 'save_inference_model', 'load_inference_model', - 'load_program_state', 'set_program_state', 'cpu_places', 'cuda_places', 'Variable' + 'load_program_state', 'set_program_state', 'cpu_places', 'cuda_places', + 'Variable' ] from . import nn -from .io import save_inference_model #DEFINE_ALIAS -from .io import load_inference_model #DEFINE_ALIAS +from .io import save_inference_model #DEFINE_ALIAS +from .io import load_inference_model #DEFINE_ALIAS from ..fluid import Scope #DEFINE_ALIAS from .input import data #DEFINE_ALIAS from .input import InputSpec #DEFINE_ALIAS