首页 Paddle框架 帖子详情
关于optimizer的adam接着训练参数无法赋值问题
收藏
快速回复
Paddle框架 问答模型训练深度学习 696 2
关于optimizer的adam接着训练参数无法赋值问题
收藏
快速回复
Paddle框架 问答模型训练深度学习 696 2

问题描述:在paddleseg框架下,使用optimizer=paddle.optimizer.Adam(lr,parameters=model.parameters(), weight_decay=1.0e-4)这个优化器进行训练。训练了一定回合后,想接着继续训练。如下图代码我想从iter_10240步继续往后训练。该优化器参数那iter_10240下的modelpdopt会报错。看了下modelopt文件里面存了大量参数动量的值,而optimizer的state_dict中没有那么多值。那么resume_model在优化器为adam的时候难道没法用吗?有没有啥解决方法

%cd /home/aistudio
%cd PaddleSeg
train(
    model=model,                        # 创建的模型
    train_dataset=train_dataset,        # 训练数据集
    val_dataset=eval_dataset,           # 验证数据集
    optimizer=optimizer,                # 优化器
    save_dir='output',                  # 保存路径--不必该,否则后边程序也需要修正
    # resume_model='output/iter_10240',
    iters=40960,                         # 训练迭代次数(这里不是轮次)
    batch_size=4,                       # 批大小
    save_interval=256,                  # 验证+保存的迭代周期
    log_iters=32,                       # 日志输出的迭代周期
    num_workers=0,                      # 多线程关闭(0)--在平台上开启可能会断掉
    losses=losses,                      # 损失字典
    use_vdl=True)                       # 是否记录训练参数
0
收藏
回复
全部评论(2)
时间顺序
FutureSI
#2 回复于2021-10

如果存储的比读取的多会被自动忽略,但需要读取的值没有就会报错了。

0
回复
FutureSI
#3 回复于2021-10

一般自己存的,接着训练时读取没问题啊。不行就只读模型权重吧,优化器按当前学习率重新warmup下应该也行吧。

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