Paddle Inference部署推理(二)

二:Paddle Inference推理之保存与加载模型API详解

模型训练后,训练好的模型参数保存在内存中,通常需要使用模型保存(save)功能将其持久化保存到磁盘文件中,并在后续需要训练调优或推理部署时,再加载(load)到内存中运行。详细介绍不同场景下模型保存与加载的方法。

概述

在模型训练过程中,通常会在如下场景中用到模型的保存与加载功能:

训练调优场景:

  • 模型训练过程中定期保存模型,以便后续对不同时期的模型恢复训练或进行研究;
  • 模型训练完毕,需要保存模型方便进行评估测试;
  • 载入预训练模型,并对模型进行微调(fine-tune)。

推理部署场景:

  • 模型训练完毕,在云、边、端不同的硬件环境中部署使用,飞桨提供了服务器端部署的 Paddle Inference、移动端/IoT端部署的 Paddle Lite、服务化部署的 Paddle Serving 等,以实现模型的快速部署上线。

针对以上场景,飞桨框架推荐使用的模型保存与加载基础 API 主要包括:
a. paddle.save

源代码:地址

:将对象实例 obj 保存到指定的路径中。

入参和返回值详解:

复制代码
 >>> # example 2: Save multiple state_dict at the same time
 >>> import paddle
 >>> from paddle import nn
 >>> from paddle.optimizer import Adam

 >>> layer = paddle.nn.Linear(3, 4)
 >>> adam = Adam(learning_rate=0.001, parameters=layer.parameters())
 >>> obj = {'model': layer.state_dict(), 'opt': adam.state_dict(), 'epoch': 100}
 >>> path = 'example/model.pdparams'
 >>> paddle.save(obj, path)

b. paddle. Load

源代码:地址

:从指定路径载入可以在 paddle 中使用的对象实例。

入参和返回值详解:

复制代码
 >>> # example 2: Load multiple state_dict at the same time
 >>> import paddle
 >>> from paddle import nn
 >>> from paddle.optimizer import Adam

 >>> layer = paddle.nn.Linear(3, 4)
 >>> adam = Adam(learning_rate=0.001, parameters=layer.parameters())
 >>> obj = {'model': layer.state_dict(), 'opt': adam.state_dict(), 'epoch': 100}
 >>> path = 'example/model.pdparams'
 >>> paddle.save(obj, path)
 >>> obj_load = paddle.load(path)

c. paddle.jit.save

源代码:地址

:将输入的 Layer 或 function 存储为 paddle.jit.TranslatedLayer 格式的模型,载入后可用于预测推理或者 fine-tune 训练。该接口会将输入 Layer 转写后的模型结构 Program 和所有必要的持久参数变量存储至输入路径 path 。

path 是存储目标的前缀,存储的模型结构 Program 文件的后缀为 .pdmodel ,存储的持久参数变量文件的后缀为 .pdiparams,同时这里也会将一些变量描述信息存储至文件,文件后缀为 .pdiparams.info,这些额外的信息将在 fine-tune 训练中使用。

存储的模型能够被以下 API 完整地载入使用:

  • paddle.jit.load
  • paddle.static.load_inference_model
  • 其他 C++ 预测库 API

    入参和返回值详解:

    d. paddle.jit.load
    源代码:地址
相关推荐
令狐少侠20116 天前
ai之paddleOCR 识别PDF python312和paddle版本冲突 GLIBCXX_3.4.30
人工智能·pdf·paddle
闻道且行之7 天前
Paddle Serving|部署一个自己的OCR识别服务器
服务器·ocr·paddle
就是一顿骚操作8 天前
Linux 部署以paddle Serving 的方式部署 PaddleOCR CPU版本
linux·r语言·paddle
鲲志说1 个月前
本地化部署DeepSeek-R1蒸馏大模型:基于飞桨PaddleNLP 3.0的实战指南
人工智能·nlp·aigc·paddlepaddle·飞桨·paddle·deepseek
猿界零零七1 个月前
执行paddle.to_tensor得到全为0
python·paddle
1nv1s1ble1 个月前
paddle ocr
ocr·paddle
冲上云霄的Jayden1 个月前
PaddleNLP UIE 通过OCR识别银行回执信息
nlp·ocr·paddle·paddlenlp·信息提取·uie·银行回执
程序员柒叔1 个月前
制作PaddleOCR/PaddleHub的Docker镜像
python·docker·ocr·paddle
love you joyfully2 个月前
生成对抗网络——pytorch与paddle实现生成对抗网络
pytorch·生成对抗网络·paddle
OdooWizard3 个月前
【深度学习】使用飞桨paddle实现波士顿房价预测任务
深度学习·paddlepaddle·paddle