[英]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.