Keras:模型评估

Posted -柚子皮-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras:模型评估相关的知识,希望对你有一定的参考价值。

 

keras模型评估

keras能用的模型评估不多,有的可能是这些评估在keras框架下不准确,如果要用,可以使用tensorflow或者sklearn中的评估模型。

tensorflow:

from tensorflow.python.estimator import training

result = training.train_and_evaluate(dnn_estimator, train_spec, eval_spec)
print(result[:10])
# ('accuracy': 0.8025, 'accuracy_baseline': 0.5, 'auc': 0.89911944, 'auc_precision_recall': 0.8918648, 'average_loss': 0.40619093, 'label/mean': 0.5, 'loss': 51.85416, 'precision': 0.7941653, 'prediction/mean': 0.5040493, 'recall': 0.81666666, 'global_step': 92450, [])

sklearn:

from sklearn import metrics

test_pred_prob_y = model.predict(test_x, batch_size=batch_size)
print(metrics.roc_auc_score(np.argmax(test_y, axis=1), np.argmax(test_pred_prob_y, axis=1)))

 

保存keras模型并重新导入,发现自己定义的损失函数/评估指标不能用?

1 加一个custom_objects

model = load_model('***.h5',custom_objects='my_loss': my_loss, 'my_metrics':my_metrics)

def auc(y_true, y_pred):
    auc = tf.metrics.auc(y_true, y_pred)[1]
    backend.get_session().run(tf.local_variables_initializer())
    return auc

model.save(model_file)
model = models.load_model(model_file, custom_objects='auc': auc)

2 或者也可以把自定义的loss拷贝到keras.losses.py 源代码文件下

[Scikit-learn:模型评估Model evaluation]

from: -柚子皮-

ref: 

 

 

以上是关于Keras:模型评估的主要内容,如果未能解决你的问题,请参考以下文章

训练后使用量化权重进行 keras 模型评估

Keras学习记录之模型编译-训练-评估-预测

使用 Keras 评估模型时的测试分数与测试准确度

人工智能--Keras网络评估

Keras 模型构建概览

如何使用keras评估多类分类的结果?