我想使用tensorflow tf.image.non_max_suppression函数。
我尝试了下面的两个片段:
indices = tf.image.non_max_suppression(
boxes=anchors_fit,
scores=rpn_cls_prob,
max_output_size=self.max_outputs_num,
)indices,scores = tf.image.non_max_suppression_with_scores(
boxes=anchors_fit,
scores=rpn_cls_prob,
max_output_size=self.max_outputs_num,
)其中anchors_fit.shape是[36864,4],rpn_cls_prob.shape是[36864]
这两种呼声都引起了:
ValueError: Shape must be rank 0 but is rank 1 for 'non_max_suppression_with_scores/NonMaxSuppressionV5' (op: 'NonMaxSuppressionV5') with input shapes: [36864,4], [36864], [1], [], [], [].我该怎么办?
发布于 2019-12-20 09:21:10
self.max_outputs_num的形状是什么?
来自文献资料
max_output_size:标量整数张量,表示非最大抑制要选择的最大框数。
在这里,它似乎是一个一维数组,因为错误消息将它报告在括号中.此外,它将匹配错误消息,因为标量具有秩0和一维数组作为秩1。
因此,您可能应该将self.max_outputs_num从数组转换为标量。
https://stackoverflow.com/questions/59422616
复制相似问题