自学内容网 自学内容网

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
    源代码:地址
    在这里插入图片描述在这里插入图片描述

原文地址:https://blog.csdn.net/weixin_46319994/article/details/144008431

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!