Форма должна иметь ранг 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
Тервейсин, Маркус