diff --git a/python/paddle/fluid/io.py b/python/paddle/fluid/io.py index e65210331a1500aa92fa0d83055c021658c49fcf..215b4cd039f336eed7339b5c17be7316119a3472 100644 --- a/python/paddle/fluid/io.py +++ b/python/paddle/fluid/io.py @@ -1715,10 +1715,10 @@ def save(program, model_path): """ :api_attr: Static Graph - This function save parameters, optimizer information and network description to model_path. + This function save parameters, optimizer information and network description to model_path. - The parameters contains all the trainable Variable, will save to a file with suffix ".pdparams". - The optimizer information contains all the variable used by optimizer. For Adam optimizer, contains beta1, beta2, momentum etc. All the information will save to a file with suffix ".pdopt". (If the optimizer have no variable need to save (like SGD), the fill will not generated). + The parameters contains all the trainable Tensor, will save to a file with suffix ".pdparams". + The optimizer information contains all the Tensor used by optimizer. For Adam optimizer, contains beta1, beta2, momentum etc. All the information will save to a file with suffix ".pdopt". (If the optimizer have no Tensor need to save (like SGD), the fill will not generated). The network description is the description of the program. It's only used for deployment. The description will save to a file with a suffix ".pdmodel". Args: @@ -1732,12 +1732,20 @@ def save(program, model_path): .. code-block:: python import paddle - import paddle.fluid as fluid + import paddle.static as static paddle.enable_static() - prog = fluid.default_main_program() - fluid.save( prog, "./temp") + x = static.data(name="x", shape=[10, 10], dtype='float32') + y = static.nn.fc(x, 10) + z = static.nn.fc(y, 10) + + place = paddle.CPUPlace() + exe = static.Executor(place) + exe.run(static.default_startup_program()) + prog = static.default_main_program() + + static.save(prog, "./temp") """ base_name = os.path.basename(model_path) @@ -1790,7 +1798,7 @@ def load(program, model_path, executor=None, var_list=None): model_path(str): The file prefix store the program executor(Executor, optional): The executor used for initialize the parameter When startup program is not run. - var_list(list, optional): The variable list to load single model file saved with + var_list(list, optional): The Tensor list to load single model file saved with [ save_params, save_persistables, save_vars ]. Default: None @@ -1801,14 +1809,21 @@ def load(program, model_path, executor=None, var_list=None): .. code-block:: python import paddle - import paddle.fluid as fluid + import paddle.static as static paddle.enable_static() - prog = fluid.default_main_program() - fluid.save( prog, "./temp") - fluid.load( prog, "./temp") + x = static.data(name="x", shape=[10, 10], dtype='float32') + y = static.nn.fc(x, 10) + z = static.nn.fc(y, 10) + place = paddle.CPUPlace() + exe = static.Executor(place) + exe.run(static.default_startup_program()) + prog = static.default_main_program() + + static.save(prog, "./temp") + static.load(prog, "./temp") """ assert executor is None or isinstance(executor, Executor) @@ -1952,7 +1967,7 @@ def load_program_state(model_path, var_list=None): Args: model_path(str): The file prefix store the program - var_list(list, optional): The variable list to load saved with + var_list(list, optional): The Tensor list to load saved with [ save_params, save_persistables, save_vars ]. Default: None. The var_list is only used to get name, @@ -1964,21 +1979,21 @@ def load_program_state(model_path, var_list=None): .. code-block:: python import paddle - import paddle.fluid as fluid + import paddle.static as static paddle.enable_static() - x = fluid.data( name="x", shape=[10, 10], dtype='float32') - y = fluid.layers.fc( x, 10) - z = fluid.layers.fc( y, 10) - place = fluid.CPUPlace() - exe = fluid.Executor(place) - exe.run( fluid.default_startup_program() ) - prog = fluid.default_main_program() + x = static.data(name="x", shape=[10, 10], dtype='float32') + y = static.nn.fc(x, 10) + z = static.nn.fc(y, 10) - fluid.save( prog, "./temp") - program_state = fluid.load_program_state( "./temp") + place = paddle.CPUPlace() + exe = static.Executor(place) + exe.run(static.default_startup_program()) + prog = static.default_main_program() + static.save(prog, "./temp") + program_state = static.load_program_state("./temp") """ model_prefix = model_path if model_prefix.endswith(".pdparams"): @@ -2128,23 +2143,23 @@ def set_program_state(program, state_dict): .. code-block:: python import paddle - import paddle.fluid as fluid + import paddle.static as static paddle.enable_static() - x = fluid.data( name="x", shape=[10, 10], dtype='float32') - y = fluid.layers.fc( x, 10) - z = fluid.layers.fc( y, 10) - place = fluid.CPUPlace() - exe = fluid.Executor(place) - exe.run( fluid.default_startup_program() ) - prog = fluid.default_main_program() + x = static.data(name="x", shape=[10, 10], dtype='float32') + y = static.nn.fc(x, 10) + z = static.nn.fc(y, 10) - fluid.save( prog, "./temp") - program_state = fluid.load_program_state( "./temp") + place = paddle.CPUPlace() + exe = static.Executor(place) + exe.run(static.default_startup_program()) + prog = static.default_main_program() - fluid.set_program_state( prog, program_state) + static.save(prog, "./temp") + program_state = static.load_program_state("./temp") + static.set_program_state(prog, program_state) """ parameter_list = list(filter(is_persistable, program.list_vars()))