继续培训新数据的LSTM模型

时间:2018-04-03 19:46:34

标签: python keras lstm

我在机器学习领域几乎是新手,目前正努力寻找如何在模型加载后继续进行训练。找到了几个类似的主题,但仍然无法弄清楚。

我获得了时间序列预测的模型,并希望在新数据显示后重新训练它(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 个答案:

答案 0 :(得分:1)

你告诉keras每次调用时重新编译模型

Point
每次用model.compile() 打电话时,你都会这样做:

update_model

删除该行,培训将从之前的状态继续。