调用 tf.image.non_max_suppression 时出现 ValueError
Get ValueError when calling tf.image.non_max_suppression
我想使用 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], [], [], [].
我该怎么办?
self.max_outputs_num
的形状是什么?
max_output_size
: A scalar integer Tensor representing the maximum number of boxes to be selected by non max suppression.
在这里,它似乎是一个一维数组,因为错误消息在括号中报告它。
此外,它会匹配错误消息,因为标量的秩为 0,而一维数组的秩为 1。
因此,您可能应该将 self.max_outputs_num
从数组转换为标量。
我想使用 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], [], [], [].
我该怎么办?
self.max_outputs_num
的形状是什么?
max_output_size
: A scalar integer Tensor representing the maximum number of boxes to be selected by non max suppression.
在这里,它似乎是一个一维数组,因为错误消息在括号中报告它。 此外,它会匹配错误消息,因为标量的秩为 0,而一维数组的秩为 1。
因此,您可能应该将 self.max_outputs_num
从数组转换为标量。