首页 Paddle框架 帖子详情
增量训练中,如何保存模型和恢复训练? 已解决
收藏
快速回复
Paddle框架 其他模型训练 847 1
增量训练中,如何保存模型和恢复训练? 已解决
收藏
快速回复
Paddle框架 其他模型训练 847 1

增量训练或短点续训是在训练模型时常见的需求,在训练过程中,不仅需要保存模型的参数,也需要保存优化器的参数。

DeepGeGe
已解决
2# 回复于2021-12
在2.0及以后的版本中,可以使用Layer和Optimizer的state_dict和set_state_dict方法配合paddle.save/load使用来实现上述功能: [代码]
展开
0
收藏
回复
全部评论(1)
时间顺序
DeepGeGe
#2 回复于2021-12

在2.0及以后的版本中,可以使用Layer和Optimizer的state_dict和set_state_dict方法配合paddle.save/load使用来实现上述功能:

import paddle

emb = paddle.nn.Embedding(10, 10)
layer_state_dict = emb.state_dict()
paddle.save(layer_state_dict, "emb.pdparams")

scheduler = paddle.optimizer.lr.NoamDecay(
    d_model=0.01, warmup_steps=100, verbose=True)
adam = paddle.optimizer.Adam(
    learning_rate=scheduler,
    parameters=emb.parameters())
opt_state_dict = adam.state_dict()
paddle.save(opt_state_dict, "adam.pdopt")

load_layer_state_dict = paddle.load("emb.pdparams")
load_opt_state_dict = paddle.load("adam.pdopt")

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