『paddle』paddleclas 学习笔记:模型保存


一、state_dict 格式与 inference_model 格式

  • 使用 paddle.save 存储的是 state_dict 格式的模型,共保存 “path.pdparams”“path.pdopt” 两个文件。
    path.pdparams 中存储的是模型的持久参数变量。
    path.pdopt 中存储的是优化器中的信息,因此存储为 state_dict 格式的模型多用于保存 checkpoint,方便以后继续模型训练。
  • 使用 paddle.jit.save 存储的是 inference_model 格式的模型,共保存 “path.pdiparams”“path.pdiparams.info”“path.model”三个文件。
    path.pdiparams 中保存的是模型的持久参数变量。
    path.pdiparams.info 中保存的是变量描述信息,这些额外的信息将在 fine-tune 训练中使用。
    path.model 中保存的是模型结构,因此读取 inference_model 格式的模型时,无需先读取模型结构,方便预测调优。

在读取模型时,paddle.jit.load 可以读取 paddle.jit.save 存储的模型,而 paddle.load 不但可以读取 paddle.save 存储的模型,也可以读取 paddle.jit.save 存储的模型。

二、四个接口的关系

paddle.save、paddle.load、paddle.jit.save、paddle.jit.load 四个接口的关系如下图:(图片来自 Paddle 2.0 rc 官方文档)

三、使用 predict.py 脚本进行推理

详情见 paddleclas 学习笔记:模型推理 第五章节。

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
使用PaddlePaddle框架训练好的模型可以通过save_inference_model()方法保存下来,以便后续的推理使用。下面是使用PaddlePaddle框架进行MNIST手写数字识别的模型保存示例: ```python import paddle import paddle.static as static # 创建训练网络 def train_network(): # 网络的定义和训练过程省略... # ... return paddle.static.default_main_program(), paddle.static.default_startup_program() # 训练模型 main_program, startup_program = train_network() # 设置保存路径和文件名 model_save_dir = './saved_model/mnist' model_filename = 'model' place = paddle.CPUPlace() exe = paddle.static.Executor(place) exe.run(startup_program) # 保存模型 static.save_inference_model(model_save_dir, model_filename, [input_var], [output_var], exe) print("模型保存在{}目录下".format(model_save_dir)) ``` 以上代码首先定义了一个网络的训练函数`train_network()`,该函数在训练过程中会定义训练网络和初始化参数等操作。然后,在训练完模型后,使用`save_inference_model()`方法保存所需的输入和输出变量,即`[input_var]`和`[output_var]`,并指定保存路径和文件名。最后,通过`paddle.static.Executor()`创建一个执行器,并使用该执行器的`run()`方法运行模型的初始化参数。保存后的模型可以在指定的目录下找到。 这样,我们就成功将训练好的模型保存了下来,可以在未来的推理任务中加载模型进行预测等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

libo-coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值