Столкнулся со следующей проблемой. Я хочу построить модель LSTM для анализа настроений. В C ++ я использую библиотеку mlpack. Во-первых, чтобы понять архитектуру, я подошел к проблеме через python, а Керас посоветовал из некоторых руководств. В этом учебнике был этот код:
from keras.models import Sequential
from keras.layers import Dense, Embedding, LSTM, GRU
from keras.layers.embeddings import Embedding
EMBEDDING_DIM = 100
print('Build model...')
model = Sequential()
model.add(Embedding(vocab_size, EMBEDDING_DIM, input_length=max_length())
model.add(GRU(units=32, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
В моем коде на C ++ я написал этот блок:
model.Add<IdentityLayer<> >();
model.Add<Embedding<> >(vocabSize, embedSize);
model.Add<LSTM<> >(inputSize, lstmCells, maxRho);
model.Add<Dropout<> >(0.5);
model.Add<ReLULayer<> >();
model.Add<Linear<> >(lstmCells, outputSize);
Консоль вывода выдает мне эту ошибку :
error: conv_to(): given object can't be interpreted as a vector
terminate called after throwing an instance of 'std::logic_error'
what(): conv_to(): given object can't be interpreted as a vector
Не могу понять где ошибка после нескольких часов отладки ... Спасибо