ValueError: Невозможно передать значение shape (1, 50, 50, 3) для Tensor 'input / X: 0', который имеет форму '(?, 50, 50, 1)' - PullRequest
0 голосов
/ 01 мая 2020

моя форма ввода модели (50,50,1) Я получаю кадр с помощью:

 cv2.VideoCapture(0).read()

Когда я использую функцию np.reshape (), она не изменяет желаемую форму ,

sized_frame = (cv2.resize(frame, (50,50)))

cv2.waitKey(0)
img_data = np.array(photo)
data = tf.reshape(img_data, (1,50,50,3))
model_out = model.predict([img_data])[0]
print(model_out)
if np.argmax(model_out) == 1:
    str_label = 'Dog'
else:
    str_label = 'Cat'

return str_label

Это ошибка, которую я получаю:

ValueError: Cannot feed value of shape (1, 50, 50, 3) for Tensor 'input/X:0', which has shape '(?, 50, 50, 1)'

1 Ответ

0 голосов
/ 01 мая 2020

Следующий код должен решить вашу ошибку

gray = cv2.cvtColor(photo, cv2.COLOR_BGR2GRAY)
img_data = np.array(gray)
data = tf.reshape(img_data, (1,50,50,1))
model_out = model.predict(img_data)[0]

При условии, что вы тренировались на изображениях в градациях серого

...