gpt4 book ai didi

python - tensorflow 使用混淆矩阵进行评估

转载 作者:行者123 更新时间:2023-11-30 22:56:31 27 4
gpt4 key购买 nike

tensorflow CNN tutorial ,它计算准确性,但我想利用它来计算混淆矩阵。

立即,我想到了三种不同的方法:

  1. 我尝试直接计算预测结果而不是tensorflow中的top_k_op,然后我可以利用sklearn。但我失败了,因为它使用多个线程来计算( line 88 );

  2. 我尝试加载经过训练的变量并为 cifar10.inference 提供新的占位符,但再次失败,因为它将 batch_image 定义为输入( line 225 );

  3. 最后一种方法是定义一个新操作来替换 line 128

    top_k_op = tf.nn.in_top_k(logits, labels, 1)

    但我找不到合适的操作可以做到这一点。

这件事困扰了我好几天。请帮忙。预先感谢您。

最佳答案

只有在所有数据集上运行“推理”后,您才能使用sklearn的confusion_matrix。这意味着,如果您正在修改 eval_only 函数,您应该将所有分数累积到某个线程安全容器(列表)中。然后在所有线程停止后(第 113 行),您可以运行单个混淆矩阵计算。

此外,如果您想在图中执行此操作,TensorFlow 最近获得了 confusion_matrix op你可以尝试使用。也就是说,它仅适用于批处理,因此您需要增加批处理才能获得任何类型的分辨率或编写自定义聚合器。

关于python - tensorflow 使用混淆矩阵进行评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36960457/

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