gpt4 book ai didi

python-3.x - 如何根据 AUC 指标在 Keras 中保存最佳模型?

转载 作者:行者123 更新时间:2023-12-04 16:43:14 25 4
gpt4 key购买 nike

我想在 Keras 中保存基于 auc 的最佳模型,我有以下代码:

def MyMetric(yTrue, yPred):
auc = tf.metrics.auc(yTrue, yPred)
return auc

best_model = [ModelCheckpoint(filepath='best_model.h5', monitor='MyMetric', save_best_only=True)]

train_history = model.fit([train_x],
[train_y], batch_size=batch_size, epochs=epochs, validation_split=0.05,
callbacks=best_model, verbose = 2)

所以我的模型跑疯了,我收到了这个警告:

RuntimeWarning: Can save best model only with MyMetric available, skipping.
'skipping.' % (self.monitor), RuntimeWarning)

如果有人能告诉我这是正确的方法,那就太好了,如果不是,我该怎么办?

最佳答案

您必须将要监控的指标传递给 model.compile。

https://keras.io/metrics/#custom-metrics

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=[MyMetric])

此外,tf.metrics.auc 返回一个包含张量和 update_op 的元组。 Keras 期望自定义度量函数仅返回一个张量。

def MyMetric(yTrue, yPred):
import tensorflow as tf
auc = tf.metrics.auc(yTrue, yPred)
return auc[0]

在这一步之后,您将收到有关未初始化值的错误。请查看这些主题:

https://github.com/keras-team/keras/issues/3230

How to compute Receiving Operating Characteristic (ROC) and AUC in keras?

关于python-3.x - 如何根据 AUC 指标在 Keras 中保存最佳模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55153983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com