赞
踩
https://www.bookstack.cn/read/paddlepaddle-2.0-zh/853b055db9e0dfd4.md
使用model.state_dict()获取模型参数。
使用optimizer.state_dict()获取优化器和学习率相关的参数。
调用paddle的save_dygraph API将参数保存到本地。
比如第一轮训练保存的文件是mnist_epoch0.pdparams,mnist_epoch0.pdopt,分别存储了模型参数和优化器参数。
在开始使用飞桨恢复训练前,先正常训练一个模型,优化器使用Adam,使用动态变化的学习率,学习率从0.01衰减到0.001(12-16行)。每训练一轮后保存一次模型,之后将采用训练中的模型参数作为恢复训练的模型参数继续训练。
说明:
本次训练不仅保存模型参数,而且保存优化器、学习率有关的参数,比如Adam, Adagrad优化器在训练时会创建一些新的变量辅助训练;动态变化的学习率需要训练停止时的训练步数。这些参数对于恢复训练至关重要。
程序运行时将会自动进行训练,评估,测试。同时训练过程中会自动保存模型在指定的save_dir中。 如:
checkpoints/
├── 0.pdopt
├── 0.pdparams
├── 1.pdopt
├── 1.pdparams
├── …
└── final.pdparams
NOTE: 如需恢复模型训练,则init_from_ckpt只需指定到文件名即可,不需要添加文件尾缀。如–init_from_ckpt=checkpoints/0即可,程序会自动加载模型参数checkpoints/0.pdparams,也会自动加载优化器状态checkpoints/0.pdopt。
模型参数,和优化器参数即之前的超参数而已
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。