簡體   English   中英

形狀必須為 2 級,但 NonMaxSuppressionV3 為 3 級:錯誤

[英]Shape must be rank 2 but is rank 3 for NonMaxSuppressionV3: ERROR

我在嘗試在視頻對象檢測時使用 tf.image.non_max_suppression 時遇到此錯誤。 Tensorflow 版本是 1.10.0

ValueError: Shape must be rank 2 but is rank 3 for 'non_max_suppression/NonMaxSuppressionV3' (op: 'NonMaxSuppressionV3') 輸入形狀:[1,500,4], [1,500], [], [], []。

我在使用 tensorflow2.1 時遇到了同樣的錯誤,原因是(正如錯誤中所說的那樣)批處理維度不存在。

tf.image.non_max_suppression(boxes, score, max_output_size, iou_threshold=0.5, score_threshold=float('-inf'), name=None )

box 形狀為 [num_boxes, 4] 的二維浮動張量。

例子:

selected_indices = tf.image.non_max_suppression(
    boxes=boxes,
    scores=scores,
    max_output_size=7,
    iou_threshold=0.5)

您應該刪除張量的第一個(批量)維度(上面示例中的框和分數)如果您的批量維度為 1,您可以使用

boxes = tf.squeeze(boxes)
scores = tf.squeeze(scores)

似乎你可以在這個野獸中擁有批量維度: https : //www.tensorflow.org/api_docs/python/tf/image/combined_non_max_suppression

暫無
暫無

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

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