В keras определить модель со слоем bidirectional SimpleRNN
Пытаюсь построить модель, однако получаю ошибку следующую:
Ошибки могли возникнуть в результате операции ввода. Операции с источником ввода, подключенные к узлу sequential_19
Что не так делаю?
import nltk
import keras
import keras.layers as L
from keras.layers import SimpleRNN, Bidirectional
from sklearn.model_selection import train_test_split
nltk.download('brown')
nltk.download('universal_tagset')
data = nltk.corpus.brown.tagged_sents(tagset='universal') # универсальный набор тегов, также могут быть категории, пр, новостей
all_tags = ['#EOS#','#UNK#','ADV', 'NOUN', 'ADP', 'PRON', 'DET', '.', 'PRT', 'VERB', 'X', 'NUM', 'CONJ', 'ADJ']
train_data, test_data = train_test_split(data,test_size=0.25,random_state=42)
BATCH_SIZE=32
model = keras.models.Sequential()
model.add(L.InputLayer([None],dtype='int32'))
model.add(L.Embedding(len(all_tags),50))
model.add(L.SimpleRNN(32,return_sequences=True))
#добавим верхний слой, который предсказывает вероятности тегов
stepwise_dense = L.Bidirectional(SimpleRNN(32, return_sequences = True, activation='tanh', ))
model.add(stepwise_dense)
model.compile(optimizer='adam',
loss='CategoricalCrossentropy',
metrics=['accuracy'])
model.fit_generator(generate_batches(train_data),len(train_data)/BATCH_SIZE, epochs=5)