增量训练或短点续训是在训练模型时常见的需求,在训练过程中,不仅需要保存模型的参数,也需要保存优化器的参数。
在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)
在2.0及以后的版本中,可以使用Layer和Optimizer的state_dict和set_state_dict方法配合paddle.save/load使用来实现上述功能: