是否可以在Keras中使用ModelCheckpoint模块,监视器参数有多个选项?验证准确度提高时我想保存。如果两个模型具有相同的验证精度,我希望保存具有最佳训练精度的模型。这可能吗?如果没有,有没有办法可以使用调和平均值来组合两个不同的指标?
答案 0 :(得分:1)
您可以使用自定义回调来执行此操作。看一下ModelCheckpoint does以及以下内容:
class MyCheckpoint(Callback):
# __init__ etc...
def on_epoch_end(self, epoch, logs=None):
logs = logs or dict()
acc = logs.get('acc')
val_acc = logs.get('val_acc')
# Your conditions
if val_acc > self.best_val_acc:
self.model.save_weights(filename)
self.best_val_acc = val_acc
elif val_acc == self.best_val_acc and acc > self.best_acc:
self.model.save_weights(filename)
self.best_acc = acc