Тренировочная модель Keras с несколькими входами - PullRequest
0 голосов
/ 23 января 2019

Я хочу обучить модель с 3 различными входами, используя керас.Данные тренировки - x_train , left_train , right_train имеют форму (10000,83,12).Вот часть кода.

from keras.layers import Dense, Input, LSTM
...
x = Input(shape = (83,12), dtype = "float32")
left = Input(shape = (83,12), dtype = "float32")
right = Input(shape = (83,12), dtype = "float32")
...
model = Model(inputs = [x, left, right], outputs = output)
model.compile(optimizer = "adadelta", loss = "categorical_crossentropy", metrics = ["accuracy"])
model.fit([x_train, left_train, right_train], y_train, validation_data=(x_test, y_test), epochs=20, batch_size=128)
...

Я получаю следующую ошибку во время обучения:

ValueError                       Traceback (most recent call last)
<ipython-input-17-261d36872e91> in <module>()
     51 
     52 
---> 53 model.fit([x_train, left, right], y_train, validation_data= 
(x_test, y_test), epochs=20, batch_size=128)
     54 
     55 scores = model.evaluate(x_test, y_test)
     ...
     ValueError: Error when checking model input: the list of 
Numpy arrays that you are passing to your model is not the size the 
model expected. Expected to see 3 array(s), but instead got the 
following list of 1 arrays: [array(...

Я пропускаю список из 3 входов при вызове fit метод.В чем проблема?

1 Ответ

0 голосов
/ 23 января 2019

validation_data и model.evaluate также должны иметь несколько входов.В вашем случае вы предоставляете только один массив (x_test, y_test) и просто x_test, где он будет похож на ([x_test, left_test, right_test], y_test).По сути, данные проверки должны иметь то же количество входов / выходов, что и данные обучения.

...