gpt4 book ai didi

python - Keras:如何获得top-k准确率

转载 作者:太空狗 更新时间:2023-10-30 02:24:44 32 4
gpt4 key购买 nike

我想在 keras 中获得我的模型的 top-k 精度。

我在这里找到了一个帖子:How to calculate top5 accuracy in keras?建议如下:

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))

输出只是给了我两个数组:

最高值:

array([[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
...,
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.]], dtype=float32)

top_indices:

array([[12,  0,  1,  2,  3],
[13, 0, 1, 2, 3],
[15, 0, 1, 2, 3],
...,
[12, 0, 1, 2, 3],
[17, 0, 1, 2, 3],
[18, 0, 1, 2, 3]])

我如何根据这些值计算实际分数?

最佳答案

好的,这是对我有用的代码,以防其他人偶然发现类似的问题——我缺少的链接是使用“.evaluate”:

import functools
top3_acc = functools.partial(keras.metrics.top_k_categorical_accuracy, k=3)

top3_acc.__name__ = 'top3_acc'

model.compile(Adam(lr=.001),#
optimizers.RMSprop(lr=2e-5),
loss='categorical_crossentropy',
metrics=['accuracy','top_k_categorical_accuracy',top3_acc])

model.evaluate(X_test, y_test)

其中“top_k_categorical_accuracy”给出了 k=5(标准)的分数,top3_acc 可以通过在函数调用中更改 k=3 来调整。

关于python - Keras:如何获得top-k准确率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51951358/

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