Если ваши фигуры данных примерно такие: np.shape (X) = (237, 30, 3) и np.shape (Y) = (237, 3), попробуйте эту сеть.
model = Sequential()
model.add(LSTM(32, input_shape=(X.shape[1:]), activation='relu', return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(32, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(3, activation='softmax'))
opt = tf.keras.optimizers.Adam(lr=0.001, decay=1e-6)
model.compile(
loss='categorical_crossentropy',
optimizer=opt,
metrics=['accuracy'],
)
model.fit(X, Y, batch_size=10, epochs=1)
Поскольку вы используете Keras Sequential Api , вам не нужно указывать вход для второго слоя LSTM, а на последнем плотном слое ваша форма "Y" имеет вид (237, 3), поэтому окончательныйПлотный слой также должен выдавать 3. 3. 1006 *
Вы также можете задать input_shape = (None, 3) для вашего первого слоя LSTM, если «3» (количество объектов) в вашем входе является постоянным для каждого семпла..