ValueError: Ошибка при проверке ввода: ожидалось, что embedding_1_input будет иметь форму (256,), но получил массив с формой (1,) - PullRequest
0 голосов
/ 13 апреля 2020

Я получаю некоторые ошибки при запуске кода в этого урока . Я хочу прогнозировать на некоторых тестовых данных. Когда я запускаю следующее, это работает:

res = model.predict(test_data[0:2], verbose=1)   # this works
[[0.25896776]
 [0.9984256 ]]

Однако, когда я запускаю следующий фрагмент кода:

res = model.predict(test_data[0], verbose=1)     # this does not work 

Это выдает мне следующую ошибку:

ValueError: Error when checking input: expected embedding_1_input to have shape (256,) but got array with shape (1,)

Это - форма и детали test_data[0]. Как я могу исправить эту проблему?

1 Ответ

0 голосов
/ 13 апреля 2020

Краткий ответ: Используйте test_data[0:1] вместо test_data[0].

Длинный ответ: Модели Keras / TF работают на партии входных образцов. Поэтому, когда вы даете им только одну входную выборку, она все равно должна иметь форму (1, sample_shape). Однако, когда вы нарезаете массив test_data как test_data[0], он даст вам первый элемент с удаленной первой осью / размером, то есть с формой (sample_shape,) (в данном случае (256,)). Чтобы решить эту проблему, используйте test_data[0:1], чтобы сохранить первую ось / размер (т. Е. Форма будет (1, 256)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...