如何在Keras中使用ModelCheckpoint和自定义指标?

时间:2017-05-04 12:04:24

标签: keras deep-learning

是否可以在metrics回调中使用自定义ModelCheckpoint

1 个答案:

答案 0 :(得分:19)

是的,这是可能的。

按照文档中的说明定义自定义指标:

import keras.backend as K

def mean_pred(y_true, y_pred):
    return K.mean(y_pred)

model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy', mean_pred])

要检查所有可用指标:

print(model.metrics_names)
> ['loss', 'acc', 'mean_pred']

将指标名称传递给ModelCheckpointmonitor。如果您想要在验证中计算的指标,请使用val_前缀。

ModelCheckpoint(weights.{epoch:02d}-{val_mean_pred:.2f}.hdf5,
                monitor='val_mean_pred',
                save_best_only=True,
                save_weights_only=True,
                mode='max',
                period=1)

不要将mode='auto'用于自定义指标。了解here

的原因

为什么我回答我自己的问题?查看this