serialize_persistables¶
- paddle.static. serialize_persistables ( feed_vars, fetch_vars, executor, **kwargs ) [source]
-
Serialize parameters using given executor and default main program according to feed_vars and fetch_vars.
- Parameters
-
feed_vars (Tensor | list[Tensor]) – Tensor needed by inference.
fetch_vars (Tensor | list[Tensor]) – Tensor returned by inference.
kwargs –
Supported keys including
program
. Attention please, kwargs is used for backward compatibility mainly.program(Program): specify a program if you don’t want to use default main program.
- Returns
-
serialized program.
- Return type
-
bytes
Examples
>>> import paddle >>> paddle.enable_static() >>> path_prefix = "./infer_model" # User defined network, here a softmax regression example >>> image = paddle.static.data(name='img', shape=[None, 28, 28], dtype='float32') >>> label = paddle.static.data(name='label', shape=[None, 1], dtype='int64') >>> predict = paddle.static.nn.fc(image, 10, activation='softmax') >>> loss = paddle.nn.functional.cross_entropy(predict, label) >>> exe = paddle.static.Executor(paddle.CPUPlace()) >>> exe.run(paddle.static.default_startup_program()) # serialize parameters to bytes. >>> serialized_params = paddle.static.serialize_persistables([image], [predict], exe) # deserialize bytes to parameters. >>> main_program = paddle.static.default_main_program() >>> deserialized_params = paddle.static.deserialize_persistables(main_program, serialized_params, exe)