【发布时间】:2018-05-23 16:31:53
【问题描述】:
是否可以使用 Keras 中的 ModelCheckpoint 模块,monitor 参数有多个选项?我想在验证准确性提高时保存。如果两个模型具有相同的验证准确度,我希望保存具有最佳训练准确度的模型。这可能吗?如果没有,有没有办法可以使用调和平均来组合两个不同的指标?
【问题讨论】:
标签: tensorflow keras
是否可以使用 Keras 中的 ModelCheckpoint 模块,monitor 参数有多个选项?我想在验证准确性提高时保存。如果两个模型具有相同的验证准确度,我希望保存具有最佳训练准确度的模型。这可能吗?如果没有,有没有办法可以使用调和平均来组合两个不同的指标?
【问题讨论】:
标签: tensorflow keras
您可以使用自定义回调来做到这一点。看看 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
【讨论】: