首页 Paddle框架 帖子详情
动态图模如何保存模型进行预测?
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1958 6
动态图模如何保存模型进行预测?
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1958 6

with fluid.dygraph.guard(place):
# 创建一个用于情感分类的网络实例,sentiment_classifier
sentiment_classifier = SentimentClassifier("sentiment_classifier", embedding_size, num_steps=max_seq_len)
# 创建优化器AdamOptimizer,用于更新这个网络的参数
adam = fluid.optimizer.AdamOptimizer(learning_rate=learning_rate, parameter_list=sentiment_classifier.parameters())
# 定义优化算法,这里使用随机梯度下降-SGD
# 学习率设置为0.01
# opt = fluid.optimizer.SGD(learning_rate=learning_rate)

for n in range(epoch_num):
sentiment_classifier.train()

 

save_inference_model是静态图api, 动态图模式下可以保存参数,只能保存参数吗?如果要预测如何做?有没有完整示例代码

0
收藏
回复
全部评论(6)
时间顺序
aaaaaa
#2 回复于2020-06

可以去paddle官方群问问,那边解答的 及时

0
回复
HolliZhao
#3 回复于2020-06

paddle的动态图保存的是参数或优化器的dict :paddle.fluid.dygraph.save_dygraph(state_dict, model_path),可参看:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/dygraph_cn/save_dygraph_cn.html

 

加载参数使用paddle.fluid.dygraph.load_dygraph,可参看:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/dygraph_cn/load_dygraph_cn.html

 

sentiment_classifier.load_dict(上面加载参数返回的dict)

sentiment_classifier.eval()

1
回复
夜雨飘零1
#4 回复于2020-07
import paddle.fluid as fluid

with fluid.dygraph.guard():
    emb = fluid.dygraph.Embedding(
        size=[10, 32],
        param_attr='emb.w',
        is_sparse=False)
    state_dict = emb.state_dict()
    fluid.save_dygraph(state_dict, "paddle_dy")  # 会保存为 paddle_dy.pdparams

    adam = fluid.optimizer.Adam(
        learning_rate=fluid.layers.noam_decay(100, 10000),
        parameter_list = emb.parameters())
    state_dict = adam.state_dict()
    fluid.save_dygraph(state_dict, "paddle_dy")  # 会保存为 paddle_dy.pdopt
0
回复
k
kikichen25
#5 回复于2020-09
paddle的动态图保存的是参数或优化器的dict :paddle.fluid.dygraph.save_dygraph(state_dict, model_path),可参看:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/dygraph_cn/save_dygraph_cn.html   加载参数使用paddle.fluid.dygraph.load_dygraph,可参看:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/dygraph_cn/load_dygraph_cn.html   sentiment_classifier.load_dict(上面加载参数返回的dict) sentiment_classifier.eval()
展开

多谢

0
回复
1
168168fyfgjh
#6 回复于2020-11
多谢

这种方法不行吧,我每次保存的模型每次跑都不一样。。。。。

0
回复
thinc
#9 回复于2020-12
这种方法不行吧,我每次保存的模型每次跑都不一样。。。。。

怎么说

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