2017-08-26 109 views

回答

0

你是什麼意思num_detections是一個TensorVariable?正如你可以從他們的代碼中看到的那樣,他們正在返回這張張,num_detections = detection_graph.get_tensor_by_name('num_detections:0')。在這種情況下,num_detections默認爲100,因爲他們以這種方式訓練了他們的模型。要獲得預測值的百分比,您需要scores。比方說,你的閾值是0.5,你可以計算出預測值的百分比是這樣的:

import numpy as np 

threshold = 0.5 # in order to get higher percentages you need to lower this number; usually at 0.01 you get 100% predicted objects 
print(len(np.where(scores[0] > threshold)[0])/num_detections[0]) 
+0

感謝,但我怎麼能檢查我的門檻我嘗試了命令,但它打印常數0.01,而不是正確的百分比是多少?的預測價值。我認爲我的門檻有點不對勁。 –

+0

我的例子中的閾值爲0.5,你可以看到。我意識到我的答案中有一個錯誤。 'np.where()'的輸出是一個數組,所以長度始終爲1,所以它一直是0.1。看到我更新的答案。它應該現在工作! –

+0

非常感謝您的回答!它現在可以工作! –