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

joh*_*odo 5 metrics machine-learning keras

我有一个现有模型,并希望为其添加其他指标。该Keras指标页说,指标是在编译时添加,但是我想加载后,将其添加(部分是因为model.load_model()似乎只加载第一个指标,因为我有新的标准,我想首先尝试在现有模型) . 那可能吗?

Dan*_*ler 8

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

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

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

  • 当您说“可能重置...”时,您的意思是您不确定还是仅在某些情况下才会发生? (2认同)

Gal*_*e33 7

只需添加此要点即可快速轻松地复制/粘贴答案以方便您:

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)
Run Code Online (Sandbox Code Playgroud)

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