Я работаю с моделью seq2seq для чат-бота, и при его запуске я получаю следующую ошибку:
ValueError: Ошибка при проверке ввода модели: список массивов Numpy, которые выпереходят к вашей модели не тот размер, который ожидала модель.Ожидается увидеть 2 массива (ов), но вместо этого получен следующий список из 1 массива: [массив ([[1016, 627, 1016, ..., 0, 0, 0], [798, 287, 422, ..., 0, 0, 0], [777, 0, 0, ..., 0, 0, 0], ..., [1863, 709, 370, ..., 0, ...
Я подозреваю, что это как-то связано со слоем «Конкатенация», поэтому я попытался передать два соединяемых элемента без дополнительных скобок и передать пару из них в скобках непосредственно в следующий плотный слой, но ни один из нихДанные, которые я передаю, представляют собой последовательности целых чисел, представляющих слова, которые отображаются в векторное пространство Word2Vec с помощью общего слоя Embedding.
padded_context = sequence.pad_sequences(context,maxlen=maxlen_input,padding='post',truncating='post')
padded_replies = sequence.pad_sequences(replies,maxlen=maxlen_input,padding='post',truncating='post')
input_context = Input(shape=(maxlen_input,),dtype='int32',name='input_context')
input_reply = Input(shape=(maxlen_input,),dtype='int32',name='input_reply')
LSTM_encoder = LSTM(sentence_embedding_size,init='lecun_uniform')
LSTM_decoder = LSTM(sentence_embedding_size,init='lecun_uniform')
Shared_Embedding = Embedding(output_dim=word_embedding_size, input_dim=vocab_size,weights=[embedding_mtx])
word_embedding_context = Shared_Embedding(input_context)
context_embedding = LSTM_encoder(word_embedding_context)
word_embedding_reply = Shared_Embedding(input_reply)
reply_embedding = LSTM_decoder(word_embedding_reply)
merge_layer = Concatenate(axis=1)([context_embedding,reply_embedding])
out = Dense(vocab_size/2,activation='relu')(merge_layer)
out = Dense(vocab_size,activation='softmax')(out)
model = Model(input=[input_context,input_reply],output=[out])
model.compile(loss='categorical_crossentropy',optimizer='Adam')
print model.summary()
model.fit(x=padded_context,y=padded_replies,batch_size=32,epochs=10)
Я также пытался отследить трассировку ошибок через документацию Keras, ноничего не могу с этим поделать. Если это поможет, вот краткое изложение модели: