首页 Paddle框架 帖子详情
静态图的save接口与save_inference_model接口存储的结果有什么区别? 已解决
收藏
快速回复
Paddle框架 问答模型训练深度学习 770 1
静态图的save接口与save_inference_model接口存储的结果有什么区别? 已解决
收藏
快速回复
Paddle框架 问答模型训练深度学习 770 1

静态图的save接口与save_inference_model接口存储的结果有什么区别?

旧鸱c_
已解决
2# 回复于2021-08
主要差别在于保存结果的应用场景: save接口(2.0的paddle.static.save或者1.8的fluid.io.save) 该接口用于保存训练过程中的模型和参数,一般包括*.pdmodel,*.pdparams,*.pdopt三个文件。其中*.pdmodel是训练使用的完整模型program描述,区别于推理模型,训练模型program包含完整的网络,包括前向网络,反向网络和优化器,而推理模型program仅包含前向网络,*.pdparams是训练网络的参数dict,key为变量名,value为Tensor array数值,*.pdopt是训练优化器的参数,结构与*.pdparams一致。 save_inference_model接口(2.0的paddle.static.save_inference_model或者1.8的fluid.io.save_inference_model) 该接口用于保存推理模型和参数,2.0的paddle.static.save_inference_model保存结果为*.pdmodel和*.pdiparams两个文件,其中*.pdmodel为推理使用的模型program描述,*.pdiparams为推理用的参数,这里存储格式与*.pdparams不同(注意两者后缀差个i),*.pdiparams为二进制Tensor存储格式,不含变量名。1.8的fluid.io.save_inference_model默认保存结果为__model__文件,和以参数名为文件名的多个分散参数文件,格式与2.0一致。 关于更多2.0动态图模型保存和加载的介绍可以参考教程:模型存储与载入
展开
0
收藏
回复
全部评论(1)
时间顺序
旧鸱c_
#2 回复于2021-08

主要差别在于保存结果的应用场景:

save接口(2.0的paddle.static.save或者1.8的fluid.io.save)

该接口用于保存训练过程中的模型和参数,一般包括*.pdmodel,*.pdparams,*.pdopt三个文件。其中*.pdmodel是训练使用的完整模型program描述,区别于推理模型,训练模型program包含完整的网络,包括前向网络,反向网络和优化器,而推理模型program仅包含前向网络,*.pdparams是训练网络的参数dict,key为变量名,value为Tensor array数值,*.pdopt是训练优化器的参数,结构与*.pdparams一致。
save_inference_model接口(2.0的paddle.static.save_inference_model或者1.8的fluid.io.save_inference_model)

该接口用于保存推理模型和参数,2.0的paddle.static.save_inference_model保存结果为*.pdmodel和*.pdiparams两个文件,其中*.pdmodel为推理使用的模型program描述,*.pdiparams为推理用的参数,这里存储格式与*.pdparams不同(注意两者后缀差个i),*.pdiparams为二进制Tensor存储格式,不含变量名。1.8的fluid.io.save_inference_model默认保存结果为__model__文件,和以参数名为文件名的多个分散参数文件,格式与2.0一致。
关于更多2.0动态图模型保存和加载的介绍可以参考教程:模型存储与载入

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户