如何在训练后和加载保存的模型后立即修正不一致的预测?

时间:2019-12-10 15:44:14

标签: python keras

我针对回归问题训练了Keras(2.3.1版)顺序模型,并取得了很好的结果。训练后,我立即对测试集进行预测,然后将模型以及权重保存在单独的文件中。

要检查模型的速度,我最近将它们加载并在单个测试输入数组上进行了预测,但结果相差甚远,这应该意味着训练结束时的权重与已加载。

  1. 我尝试直接使用.username { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .title{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .wrap { display: grid; width: 150px; grid-template-columns: auto minmax(20%,100%); } loaded model进行预测。他们两个的结果是一致的。因此,至少,它在两个文件中都保存了相同的权重,无论它们有错。
  2. 从我阅读的内容来看,这似乎是Keras的常见问题。我在多个地方遇到了这个建议-set the global variable initializer manually

我的问题是,该建议以及其他一些建议(例如设置固定的种子)应该在培训之前 落实到位。训练我的模型需要4到5天!如何解决这个问题而不必重新训练模型?

这是我拟合模型的方式:

loaded weights

然后我保存模型和权重:

hist = model.fit(
                 X_train, y_train,
                 batch_size=batch_size,
                 verbose=1,
                 epochs=epochs,
                 validation_split=0.2
                )

最终,我像这样加载模型并从中进行预测:

model.save("path to .h5 file")
model.save_weights("path to .hdf5 file")

0 个答案:

没有答案