To save and load model, there are eight APIs playing an important role:
fluid.io.save_vars
, fluid.io.save_params
, fluid.io.save_persistables
, fluid.io.save_inference_model
, fluid.io.load_vars
, fluid.io.load_params
, fluid.io.load_persistables
and fluid.io.load_inference_model
.
In Paddle
, every input and output of operator( Operator
) is a variable( Variable
), and parameter( Parameter
) is a derived class of Variable( Variable
). Persistables (Persistables
) are variables that won't be deleted after each iteration. Parameter is a kind of persistable variable which will be updated by optimizer ( :ref:`api_guide_optimizer_en` ) after each iteration. Training of neural network in essence is to update parameters.
fluid.io.save_vars
: Variables are saved in specified directory by executor( :ref:`api_guide_executor_en` ). There are two ways to save variables:1)Set
vars
in the API to assign the variable list to be saved.2)Assign an existed program(
Program
) tomain_program
in the API, and then all variables in the program will be saved.The first one has a higher priority than the second one.
For API Reference , please refer to :ref:`api_fluid_io_save_vars`.
fluid.io.save_params
: Setmain_program
in the API with the model Program(Program
). This API will filter all parameters(Parameter
) of targeted program and save them in folder assigned bydirname
or file assigned byfilename
.For API Reference , please refer to :ref:`api_fluid_io_save_params`.
fluid.io.save_persistables
:main_program
of API assigns program(Program
). This API will filter all persistables(persistable==True
) of targeted program and save them in folder assigned bydirname
or file assigned byfilename
.For API Reference, please refer to :ref:`api_fluid_io_save_persistables`.
fluid.io.save_inference_model
: please refer to :ref:`api_guide_inference_en`.
fluid.io.load_vars
: Executor(Executor
) loads variables into the target directory. There are two ways to load variables:1):code:vars in the API assigns variable list to be loaded.
2)Assign an existed program(
Program
) to themain_program
field in the API, and then all variables in the program will be loaded.The first loading method has higher priority than the second one.
For API Reference, please refer to :ref:`api_fluid_io_load_vars`.
fluid.io.load_params
: This API filters all parameters(Parameter
) in program assigned bymain_program
and load these parameters from folder assigned bydirname
or file assigned byfilename
.For API Reference, please refer to :ref:`api_fluid_io_load_params` .
fluid.io.load_persistables
:This API filters all persistables(persistable==True
) in program assigned bymain_program
and load these persistables from folder assigned bydirname
or file assigned byfilename
.For API Reference, please refer to :ref:`api_fluid_io_load_persistables` .
fluid.io.load_inference_model
: please refer to :ref:`api_guide_inference_en` .