2016-04-11 28 views
2

Следующая строка кода дает мне вышеуказанную ошибку в Keras. модель - модель Графа в Keras.ТипError: объект 'numpy.float64' не является итерируемым Keras

score, acc = model.evaluate({'input1': X_test1,'input2': X_test2,'output':Y_test},batch_size=450) 

, но когда я меняю его на следующее, он работает нормально.

predictions = model.predict({'input1': X_test1,'input2': X_test2},batch_size=450)['output'] 

Y_test here a. Однострочный закодированный вектор.

Образец Y_test: [[1, 0, 0], [1, 0, 0], [0, 0, 1]...]

ответ

3

Как вы можете видеть здесь :

https://github.com/fchollet/keras/blob/master/keras/engine/training.py

ознакомления метод возвращает только тест-потери (или потери). Поэтому присвоение результата этого метода паре приводит к ошибке.

+1

спасибо, для указание это вне. Казалось, что это нормально для модели Sequential, но теперь я предполагаю, что она возвращает две метрики. –

+0

Фактически, он возвращает потерю теста и любые запрошенные показатели. Присвоение результата паре «оценка, acc' бы сработала, если бы метрика точности была запрошена из подгонки модели – shadi

+0

Это довольно старый ответ. «Keras' сильно изменился с этого времени. –

0

Использование keras 1.0 Я смог получить распечатку, но я получил бы эту ошибку, когда попытался бы получить оценку и точность.

Я понизил свои керы до 0,3 и выполнил тот же самый код. Я смог получить результат и точность выполнения этого.

Смежные вопросы