我在Keras训练CNN。每一个时代大约需要18个小时。我需要每半小时保存一次模型权重,因为我不能连续运行18个小时。在
我尝试使用checkpoint和period = 0.0125
保存模型权重。我认为这样可以在每100个训练样本中节省模型权重(假设训练样本总数=8000)
cp_callback = tf.keras.callbacks.ModelCheckpoint(checkpoint_path, verbose=1, save_weights_only=True,period=0.0125)
model.fit_generator(
training_set,
steps_per_epoch=8400,
epochs=25,
callbacks = [cp_callback],
validation_data=test_set,
validation_steps=2165)
ModelCheckpoint在每个epoch之后保存模型。周期是不在纪元内的两个纪元之间的间隔。在
一个可行的解决方案是编写您自己的自定义回调,它可以在每个批处理结束或开始时节省权重。在
根据您的问题,您可以应用任何条件,如何时保存、保存什么等。希望这有帮助
相关问题 更多 >
编程相关推荐