Tensorflow Lite – ValueError: невозможно установить тензор: несоответствие размеровPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Tensorflow Lite – ValueError: невозможно установить тензор: несоответствие размеров

Сообщение Anonymous »

Вероятно, это будет глупый вопрос, но я новичок в машинном обучении и Tensorflow.
Я пытаюсь запустить API обнаружения объектов на Raspberry Pi, используя Tensorflow Lite. Я пытаюсь изменить свой код с помощью этого примера

Код: Выделить всё

https://github.com/freedomtan/tensorflow/blob/deeplab_tflite_python/tensorflow/contrib/lite/examples/python/object_detection.py
Этот фрагмент кода обнаружит объект по изображению. Но вместо изображения я хочу обнаруживать объект в реальном времени с помощью камеры Pi.
Я попытался изменить этот код, чтобы считывать входные данные с камеры вместо изображения. Вот мой кусок кода -

Код: Выделить всё

import numpy as np
from tensorflow.contrib.lite.python import interpreter as interpreter_wrapper
import cv2

cap = cv2.VideoCapture(0)
ret, image_np = cap.read()

PATH_TO_MODEL = "ssd_mobilenet_v1_coco.tflite"

interpreter = tf.contrib.lite.Interpreter(model_path=PATH_TO_MODEL)
interpreter.allocate_tensors()

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

while True:
# NxHxWxC, H:1, W:2
height = input_details[0]['shape'][1]
width = input_details[0]['shape'][2]
ret, image_np = cap.read()

image_np_expanded = np.expand_dims(image_np, axis=0)
#if floating_model:
image_np_expanded = (np.float32(image_np_expanded) - input_mean) / input_std

#HERE I AM GETTING ERROR
interpreter.set_tensor(input_details[0]['index'], image_np_expanded)

if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
но я получаю эту ошибку -

Код: Выделить всё

Traceback (most recent call last):
File "New_object_detection.py", line 257, in 
interpreter.set_tensor(input_details[0]['index'], image_np_expanded)
File "/home/saurabh/.local/lib/python3.6/site-packages/tensorflow/contrib/lite/python/interpreter.py", line 151, in set_tensor
self._interpreter.SetTensor(tensor_index, value)
File "/home/saurabh/.local/lib/python3.6/site-packages/tensorflow/contrib/lite/python/interpreter_wrapper/tensorflow_wrap_interpreter_wrapper.py", line 133, in SetTensor
return _tensorflow_wrap_interpreter_wrapper.InterpreterWrapper_SetTensor(self, i, value)
ValueError: Cannot set tensor: Dimension mismatch
Кто-нибудь может сказать мне, как исправить эту ошибку, или предложить руководство по ее устранению?

Подробнее здесь: https://stackoverflow.com/questions/520 ... n-mismatch
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»