在 Keras 中向现有模型添加指标

Adding metrics to existing model in Keras

我有一个现有模型,想向其添加其他指标。 Keras metrics page 表示指标是在编译时添加的,但我想在加载后添加它们(部分原因是 model.load_model() 似乎只加载第一个指标,并且因为我有新的指标我想要首先尝试现有模型)。这可能吗?

您可以根据需要多次编译模型。这不会改变它的权重。

因此您可以加载模型,然后使用指标对其进行编译。

重新编译模型的唯一可能问题可能是重置优化器状态。

只是为了快速简单地添加这个要点 copy/paste 为了您的方便回答:

from keras.models import load_model

model_path = 'path/to/your/old_model.h5'
new_metrics = [<metrics to add>...]  # for example ['binary_accuracy']

model = load_model(model_path)
model.compile(optimizer=model.optimizer,
                        loss=model.loss,
                        metrics=model.metrics+new_metrics)

如果使用除上述情况之外的任何其他方式,请确保将需要的参数添加到编译函数中。