save_persistables

查看属性与别名

API属性:声明式编程(静态图)专用API

paddle.fluid.io.save_persistables ( executor, dirname, main_program=None, filename=None ) [源代码]

该OP从给定 main_program 中取出所有持久性变量(详见 模型保存与加载 ),然后将它们保存到目录 dirname 中或 filename 指定的文件中。

dirname 用于指定保存持久性变量的目录。如果想将持久性变量保存到指定目录的若干文件中,请设置 filename=None ; 若想将所有持久性变量保存在同一个文件中,请设置 filename 来指定文件的名称。

参数

  • executor (Executor) – 用于保存持久性变量的 executor ,详见 执行引擎
  • dirname (str) – 用于储存持久性变量的文件目录。
  • main_program (Program,可选) – 需要保存持久性变量的Program( Program 含义详见 基础概念 )。如果为None,则使用default_main_Program 。默认值为None。
  • filename (str,可选) – 保存持久性变量的文件名称。若想分开保存变量,设置 filename=None 。 默认值为None。

返回

代码示例

  1. import paddle.fluid as fluid
  2. dir_path = "./my_paddle_model"
  3. file_name = "persistables"
  4. image = fluid.layers.data(name='img', shape=[1, 28, 28], dtype='float32')
  5. label = fluid.layers.data(name='label', shape=[1], dtype='int64')
  6. feeder = fluid.DataFeeder(feed_list=[image, label], place=fluid.CPUPlace())
  7. predict = fluid.layers.fc(input=image, size=10, act='softmax')
  8. loss = fluid.layers.cross_entropy(input=predict, label=label)
  9. avg_loss = fluid.layers.mean(loss)
  10. exe = fluid.Executor(fluid.CPUPlace())
  11. exe.run(fluid.default_startup_program())
  12. fluid.io.save_persistables(executor=exe, dirname=dir_path, filename=file_name)
  13. # 网络中fc层中的持久性变量weight和bia将会保存在路径“./my_paddle_model”下名为"persistables"的文件中。