首页 文章

继续培训新数据的LSTM模型

提问于
浏览
0

我在机器学习领域几乎是新手,目前正努力寻找如何在模型加载后继续进行训练 . 发现很少有类似的话题,但仍然无法弄明白 .

我得到了时间序列预测模型,并希望在新数据出现后重新训练它(data_original data_new) . 问题是,如果我加载模型并想继续训练,它似乎从头开始 . 即使我使用完全相同的设置和数据(用于训练原始模型),也会发生这种情况 .

伪代码:

def update_model(model, data, batch_size, updates):

        X, y = train[:, :-n_seq], train[:, -n_seq:]
        X = X.reshape(X.shape[0], n_lag, n_features)
        model.compile(loss='mean_squared_error', optimizer='adam')

        for i in range(updates):               
            model.fit(X, y,epoch=1,b_size=1,verbose=0, shuffle=False)
            model.reset_states()
        return model

    model = load_model("multivariete_model.h5")

1 回答

  • 1

    你告诉keras每次打电话都要重新编译模型

    model.compile()
    

    你每次打电话给 update_model 时都会这样做:

    model.compile(loss='mean_squared_error', optimizer='adam')
    

    删除该行,培训将从以前的状态继续 .

相关问题