0
我已經使用object_detection_tutorial.ipynb來顯示物體檢測器與預測值的百分比,但變量num_detections
是TensorVariable
如Tensor("num_detections:0", dtype=float32)
,所以我如何打印預測值的百分比?如何在Tensorflow Object Detection API中獲得預測值的百分比?
我已經使用object_detection_tutorial.ipynb來顯示物體檢測器與預測值的百分比,但變量num_detections
是TensorVariable
如Tensor("num_detections:0", dtype=float32)
,所以我如何打印預測值的百分比?如何在Tensorflow Object Detection API中獲得預測值的百分比?
你是什麼意思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.01,而不是正確的百分比是多少?的預測價值。我認爲我的門檻有點不對勁。 –
我的例子中的閾值爲0.5,你可以看到。我意識到我的答案中有一個錯誤。 'np.where()'的輸出是一個數組,所以長度始終爲1,所以它一直是0.1。看到我更新的答案。它應該現在工作! –
非常感謝您的回答!它現在可以工作! –