deserialize_persistables

paddle.static.deserialize_persistables ( program, data, executor ) [源代码]

根据指定的 program 和 executor,反序列化模型参数。

参数:

  • program (Program) - 指定包含要反序列化的参数的名称的 program。

  • data (bytes) - 序列化之后的模型参数。

  • executor (Executor) - 用来执行 load op 的 executor

返回:

  • Program: 包含反序列化后的参数的program。

代码示例

  1. import paddle
  2. paddle.enable_static()
  3. path_prefix = "./infer_model"
  4. # 用户自定义网络,此处用 softmax 回归为例。
  5. image = paddle.static.data(name='img', shape=[None, 28, 28], dtype='float32')
  6. label = paddle.static.data(name='label', shape=[None, 1], dtype='int64')
  7. predict = paddle.static.nn.fc(image, 10, activation='softmax')
  8. loss = paddle.nn.functional.cross_entropy(predict, label)
  9. exe = paddle.static.Executor(paddle.CPUPlace())
  10. exe.run(paddle.static.default_startup_program())
  11. # 序列化参数
  12. serialized_params = paddle.static.serialize_persistables([image], [predict], exe)
  13. # 反序列化成参数
  14. main_program = paddle.static.default_main_program()
  15. deserialized_params = paddle.static.deserialize_persistables(main_program, serialized_params, exe)