Я пытаюсь спроектировать двунаправленную модель LSTM и хочу объединить функции после слоев максимального пула и среднего пула.У меня есть это для моей модели:
from keras.layers import Dense, Embedding
from keras.layers.recurrent import LSTM
from keras.layers import Bidirectional
from keras.models import Sequential
from keras.layers.core import Dropout
from features import train,embedding_matrix,words
from keras.layers import concatenate,AveragePooling1D,GlobalMaxPooling1D
model=Sequential()
model.add(Embedding(words,300,input_length=train.shape[1],weights=[embedding_matrix]))
model.add(Bidirectional(LSTM(20,activation='tanh',kernel_initializer='glorot_uniform',recurrent_dropout = 0.2, dropout = 0.2,return_sequences=True)))
model.add(concatenate([GlobalMaxPooling1D(),AveragePooling1D()]))
model.add(Dropout(0.2))
model.add(Dense(2, activation='softmax'))
print model.summary()
Но у меня есть: ValueError: Layer concatenate_1 was called with an input that isn't a symbolic tensor
, потому что я считаю, что слой сцепления.Так как я не добавляю пул в модель.
Можно ли добавить два слоя в одну модель?или я должен определить две отдельные модели, а затем добавить слои объединения в каждую из них?