如何使用 ModelCheckpoint 回调加载我的张量流模型?
How to load my tensorflow model with ModelCheckpoint callbacks?
我训练了一个模型并使用 ModelCheckpoint 保存了权重:
checkpoint_callback = ModelCheckpoint(
filepath = checkpoint_prefix,
save_weights_only = True,
save_freq = 'epoch')
晚上我的模型训练时停电了一段时间,我的电脑也关机了。现在我打开了我的 Jupyter notebook,我想加载我的模型而不从头开始训练它。我应该如何在不再次编译并仅使用检查点的情况下执行此操作?
我也有张量板回调:
tensorboard_callback = TensorBoard(
log_dir = 'tensorboard_logs\'+ model_name,
histogram_freq = 5,
write_graph = True,
update_freq = 'epoch')
由于您只保存了模型的权重,因此您需要重建图表,然后在其上加载最后一个检查点权重。
所以你必须重新创建你的模型并编译它。
下次如果想保存完整的模型,这样就不用每次加载都重新编译,设置save_weights_only
为False
。
它允许您使用 keras.models.load_model()
加载模型并在之后直接拟合它。
model = Sequential()
model.add()
...
model.compile()
然后加载你的权重:
model.load_weights(checkpoint_prefix)
然后就可以正常使用了:
model.fit( ... )
我训练了一个模型并使用 ModelCheckpoint 保存了权重:
checkpoint_callback = ModelCheckpoint(
filepath = checkpoint_prefix,
save_weights_only = True,
save_freq = 'epoch')
晚上我的模型训练时停电了一段时间,我的电脑也关机了。现在我打开了我的 Jupyter notebook,我想加载我的模型而不从头开始训练它。我应该如何在不再次编译并仅使用检查点的情况下执行此操作? 我也有张量板回调:
tensorboard_callback = TensorBoard(
log_dir = 'tensorboard_logs\'+ model_name,
histogram_freq = 5,
write_graph = True,
update_freq = 'epoch')
由于您只保存了模型的权重,因此您需要重建图表,然后在其上加载最后一个检查点权重。
所以你必须重新创建你的模型并编译它。
下次如果想保存完整的模型,这样就不用每次加载都重新编译,设置save_weights_only
为False
。
它允许您使用 keras.models.load_model()
加载模型并在之后直接拟合它。
model = Sequential()
model.add()
...
model.compile()
然后加载你的权重:
model.load_weights(checkpoint_prefix)
然后就可以正常使用了:
model.fit( ... )