Я пытаюсь найти дубликаты вопросов с lstm, почти так же, как моя связанная проблема по этой ссылке: https://medium.com/@sabber/classifying-yelp-review-comments-using-lstm-and-word-embeddings-part-1-eb2275e4066b
Все лексемы для секвенирования для lstm завершены! но когда я подгоняю модель, возникает ошибка при встраивании кераса. это работало нормально, но я не знаю, что я изменил, теперь это закончилось так = Ошибка при проверке цели: ожидал, что embedding_44 будет иметь форму (50, 50), но получил массив с формой (40435100, 1)
Я испробовал почти все методы, но не работает, пожалуйста, помогите !, извините, если мой способ представления на английском раздражает вас.
она мой код:
from keras.layers.embeddings import Embedding
import numpy as np
from keras.layers import LSTM
from keras.preprocessing.sequence import pad_sequences
from keras.preprocessing.text import Tokenizer , text_to_word_sequence
tokenizer = Tokenizer()
sequences = tokenizer.texts_to_sequences(df['question1'])
sequences2 = tokenizer.texts_to_sequences(df['question2'])
sequences3 = tokenizer.texts_to_sequences(df['is_duplicate'])
data = pad_sequences(sequences, maxlen=50)
data2 = pad_sequences(sequences2, maxlen=50)
data3 = pad_sequences(sequences3, maxlen = 100)
Input= np.concatenate((data,data2), axis = 0)
Input = Input.reshape((1,40435100 , 1))
Output = data3.reshape((1,40435100 ,1 ))
Mainmodel = Sequential()
Mainmodel.add(LSTM(50, dropout=0.2, recurrent_dropout=0.2))
Mainmodel.add(Embedding(80871, 50, input_length=50))
Mainmodel.compile(loss='mean_absolute_error', optimizer='adam', metrics=['accuracy'])
X_train,X_test,y_train,y_test = train_test_split( Input, Output, test_size = 0.2, random_state = 4)
Final = Mainmodel.fit(X_train, y_train, epochs = 2, validation_data = (X_test,y_test))
here the error shows up: checking target: expected embedding_44 to have shape (50, 50) but got array with shape (40435100, 1)
Expected output is just to start the training process but got stuck in Mainmodel.fit