I'm developing a sentiment analysis algorithm and I've been getting this error for two days. I don't understand where is the mistake. Please help me Note: binary classification Model
X_train_pad.shape = (40000, 262)
y_train.shape = (40000,)
model = Sequential()
embedding_size = 50
model.add(Embedding(input_dim=numwords,
output_dim=embedding_size,
input_length=token_num,
name="embedding_layer"))
model.add(GRU(16,return_sequences=True))
model.add(GRU(8,return_sequences=True))
model.add(GRU(4,return_sequences=False))
model.add(Dense(1,activation="sigmoid"))
opt = Adam(learning_rate=1e-3)
model.compile(optimizer=opt,loss="binary_crossentropy",metrics=["accuracy"])
model.fit(X_train_pad, y_train , batch_size=256 , epochs=1,validation_data=(X_test_pad,y_test))
model.predict(X_train_pad[100])
[
ERROR: ValueError: in user code:
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\engine\training.py", line 1801, in predict_function *
return step_function(self, iterator)
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\engine\training.py", line 1790, in step_function **
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\engine\training.py", line 1783, in run_step **
outputs = model.predict_step(data)
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\engine\training.py", line 1751, in predict_step
return self(x, training=False)
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\Can Ahmet\Anacondaa\lib\site-packages\keras\engine\input_spec.py", line 214, in assert_input_compatibility
raise ValueError(f'Input {input_index} of layer "{layer_name}" '
ValueError: Exception encountered when calling layer "sequential_2" (type Sequential).
Input 0 of layer "gru_3" is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: (None, 50)
Call arguments received:
• inputs=tf.Tensor(shape=(None,), dtype=int32)
• training=False
• mask=None