在最近的一个深度学习项目中,总共训练1500epoch,我想以300epoch为一个周期,下个周期以上个周期的最好的模型参数为初始化参数重新训练。但是我遇到个问题,第二个周期,和以后的周期的模型输出结果都与第一个周期最好的模型输出结果一致,我确定都使用了model.train().
经过排查发现,由于我每个周期重新训练,我的lr回归到初始学习率,但是optimizer依然记录的是上一个周期的学习率。
所以只需要在加载模型时重新初始化optimizer可以解决上述问题
在最近的一个深度学习项目中,总共训练1500epoch,我想以300epoch为一个周期,下个周期以上个周期的最好的模型参数为初始化参数重新训练。但是我遇到个问题,第二个周期,和以后的周期的模型输出结果都与第一个周期最好的模型输出结果一致,我确定都使用了model.train().
经过排查发现,由于我每个周期重新训练,我的lr回归到初始学习率,但是optimizer依然记录的是上一个周期的学习率。
所以只需要在加载模型时重新初始化optimizer可以解决上述问题