gpt4 book ai didi

deep-learning - 如何计算keras中的top5准确度?

转载 作者:行者123 更新时间:2023-12-04 01:30:12 26 4
gpt4 key购买 nike

我想计算 imagenet 2012 数据集中的前 5 名,但我不知道如何在 keras 中进行。
fit 函数只能计算前 1 的准确率。

最佳答案

如果您刚好在 topK 之后,您可以随时直接调用 tensorflow(您不说您使用的是哪个后端)。

from keras import backend as K
import tensorflow as tf

top_values, top_indices = K.get_session().run(tf.nn.top_k(_pred_test, k=5))

如果你想要一个准确度指标,你可以将它添加到你的模型中 'top_k_categorical_accuracy' .
model.compile('adam', 'categorical_crossentropy', ['accuracy', 'top_k_categorical_accuracy'])

history = model.fit(X_train, y_train, nb_epoch=3, validation_split=0.2)

Train on 31367 samples, validate on 7842 samples
Epoch 1/3
31367/31367 [==============================] - 6s - loss: 0.0818 - acc: 0.9765 - top_k_categorical_accuracy: 0.9996 -
...

默认 k这个指标是 5,但如果你想把它改成 3,你可以像这样设置你的模型:
top3_acc = functools.partial(keras.metrics.top_k_categorical_accuracy, k=3)

top3_acc.__name__ = 'top3_acc'

model.compile('adam', 'categorical_crossentropy', ['accuracy', top3_acc])

关于deep-learning - 如何计算keras中的top5准确度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327006/

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