簡體   English   中英

tensorflow用混淆矩陣進行評估

[英]tensorflow evaluate with confusion matrix

tensorflow CNN教程中 ,它計算准確性,但我想從中利用混淆矩陣。

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

  1. 我嘗試直接計算預測結果而不是tensorflow中的top_k_op,然后我可以使用sklearn。 但我失敗了,因為它使用多個線程來計算( 第88行 );

  2. 我嘗試加載訓練好的變量並給cifar10.inference提供新的占位符,但又失敗了,因為它將batch_image定義為輸入( 第225行 );

  3. 最后一種方法是定義一個新操作來替換128行

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

    但我找不到合適的操作可以做到這一點。

這讓我困擾了好幾天。 請幫忙。 先感謝您。

只有在對所有數據集運行“推理”后,才能使用sklearn的confusion_matrix。 這意味着,如果要修改eval_only函數,則應將所有分數累積到某個線程安全容器(列表)中。 然后在所有線程停止后(第113行),您可以運行單一混淆矩陣計算。

此外,如果你想在圖表中做到這一點,TensorFlow最近得到了confusion_matrix op你可以嘗試使用。 也就是說,它只適用於批處理,因此您需要增加批處理以獲得任何類型的解析或編寫自定義聚合器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM