gpt4 book ai didi

python - TensorFlow 指标 : top-N accuracy

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:51 29 4
gpt4 key购买 nike

我正在使用 add_metric尝试创建一个自定义指标来计算分类器的前 3 准确度。据我所知:

def custom_metrics(labels, predictions):
# labels => Tensor("fifo_queue_DequeueUpTo:422", shape=(?,), dtype=int64)
# predictions => {
# 'logits': <tf.Tensor 'dnn/logits/BiasAdd:0' shape=(?, 26) dtype=float32>,
# 'probabilities': <tf.Tensor 'dnn/head/predictions/probabilities:0' shape=(?, 26) dtype=float32>,
# 'class_ids': <tf.Tensor 'dnn/head/predictions/ExpandDims:0' shape=(?, 1) dtype=int64>,
# 'classes': <tf.Tensor 'dnn/head/predictions/str_classes:0' shape=(?, 1) dtype=string>
# }

查看现有tf.metrics的实现,一切都是使用tf ops实现的。如何实现前 3 准确度?

最佳答案

如果你想自己实现它,tf.nn.in_top_k 非常有用 - 它返回一个 bool 数组,指示目标是否在前 k 个预测中。你只需要取结果的平均值:

def custom_metrics(labels, predictions):
return tf.metrics.mean(tf.nn.in_top_k(predictions=predictions, targets=labels, k=3))

你也可以导入它:

from tf.keras.metrics import top_k_categorical_accuracy

关于python - TensorFlow 指标 : top-N accuracy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55753916/

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