Nuw*_*wan 6 python neural-network keras tensorflow
我正在使用 keras 和 tensorflow 进行时间序列预测。我需要用未来的数据重新训练模型。我的问题是,这在 keras 中是否可行,我们如何做到这一点?
我正在更新任何新用户的答案,因为它已经很久以前了。如果您使用的是最近的Tensorflow
(例如TF2.1
或以后),那么您可以如上所述重新训练模型。
有两个重要选项(以 *.tf 格式保存和以 *.h5 格式保存)。两个选项的保存类似,但加载保存的模型有所不同。
当您加载保存的模型时,compile = True
默认情况下它会保留权重而不会出现任何问题。加载保存的模型后,您可以像往常一样使用loaded_model.fit()
.
model.save('./MyModel_tf',save_format='tf')
# loading the saved model
loaded_model = tf.keras.models.load_model('./MyModel_tf')
# retraining the model
loaded_model.fit(x_train, y_train, epochs = 10, validation_data = (x_test,y_test),verbose=1)
Run Code Online (Sandbox Code Playgroud)
当您加载保存的模型时,compile = True
默认为 ,它将显示如下警告。
WARNING:tensorflow:Error in loading the saved optimizer state. As a result, your model is starting with a freshly initialized optimizer
Run Code Online (Sandbox Code Playgroud)
上述错误意味着它将使用新初始化的优化器。加载保存的模型后,您可以像往常一样使用loaded_model.fit()
.
model.save('./MyModel_h5.h5', save_format='h5')
# loading the saved model
loaded_model_h5 = tf.keras.models.load_model('./MyModel_h5.h5')
Run Code Online (Sandbox Code Playgroud)
另一个最重要的一点是,当你有一个custom_objects时,那么你需要compile=False
在加载模型时选择,然后用custom_objects编译模型。以上两种方法都是如此。
希望这可以帮助。谢谢!
归档时间: |
|
查看次数: |
9854 次 |
最近记录: |