张量流计算的混淆矩阵法

2024-05-19 07:06:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

  1. 我试着直接计算预测结果,而不是tensorflow中的top-k-ou-op,这样我就可以利用sklearn了。但是我失败了,因为它使用了多个线程来计算(line 88);

  2. 我试图加载经过训练的变量并为cifar10.inference提供新的占位符,但还是失败了,因为它将batch\u image定义为输入(line 225);

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

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

    但我找不到合适的手术室。

这已经折磨了我好几天了。请帮忙。提前谢谢你。在


Tags: 方法利用定义tensorflowtoplineou矩阵
1条回答
网友
1楼 · 发布于 2024-05-19 07:06:00

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

另外,如果您想在图中这样做,TensorFlow最近得到了confusion_matrixop,您可以尝试使用。也就是说,它只对批处理有效,因此您需要增加批处理以获得任何类型的解析或编写自定义聚合器。在

相关问题 更多 >

    热门问题