我使用适合Keras模型的资源管理器将对服务器的访问限制为每天1天。在这一天之后,我需要开始一份新工作。是否可以使用Keras将当前模型保存在纪元K中,然后加载该模型以继续训练纪元K + 1(即,使用新工作)?
答案 0 :(得分:10)
您可以通过指定回调来保存每个纪元后的权重:
weight_save_callback = ModelCheckpoint('/path/to/weights.{epoch:02d}-{val_loss:.2f}.hdf5', monitor='val_loss', verbose=0, save_best_only=False, mode='auto')
model.fit(X_train,y_train,batch_size=batch_size,nb_epoch=nb_epoch,callbacks=[weight_save_callback])
这将在每个纪元后保存重量。然后,您可以使用以下命令加载它们:
model = Sequential()
model.add(...)
model.load('path/to/weights.hf5')
当然,在这两种情况下,您的模型都必须相同。
答案 1 :(得分:0)
您可以添加initial_epoch
参数。这将使您可以从特定纪元继续训练。
答案 2 :(得分:0)
您需要的是使用培训日志文件跟踪培训情况,如下所示:
eventSchema.virtual('joinDate_formatted').get(function () {
return moment(joinDate).calendar({
sameDay: 'h:mm A',
nextDay: '[Tomorrow] h:mm A',
nextWeek: 'dddd',
lastDay: '[Yesterday] h:mm A',
lastWeek: '[Last] dddd',
sameElse: 'DD/MM/YYYY h:mm A'
}); //Above shows in calendar format but u can do whatever u want in moment
});
这就是所有人!