Форма должна иметь ранг 2, но ранг 3 для NonMaxSuppressionV3: ОШИБКА

Я сталкиваюсь с этой ошибкой при попытке использовать tf.image.non_max_suppression при обнаружении видеообъекта. Версия Tensorflow - 1.10.0

ValueError: Shape должен иметь ранг 2, но является рангом 3 для "non_max_suppression/NonMaxSuppressionV3" (op: "NonMaxSuppressionV3") с входными фигурами: [1,500,4], [1,500], [], [], [].

0 ответов

Привет,

Я получаю ту же ошибку с tenorflow2.1, и причина в том, что (как сказано в ошибке) размер партии не может быть там.

tf.image.non_max_suppression(поля, оценки, max_output_size, iou_threshold=0,5, score_threshold = float ('-inf'), name = None)

box -s 2-мерный тензор с плавающей запятой формы [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

Тервейсин, Маркус

Другие вопросы по тегам