Я понимаю, что в вашем описании говорится, что ваш общий набор данных состоит из 2900 выборок данных.Где каждая выборка данных имеет 23 временных интервала, каждый с вектором 178 измерений.
В этом случае input_shape для вашей модели должен быть определен как (23, 178).Размер партии - это просто количество выборок (из 2900), которые будут использоваться для обучения / теста / прогнозирования.
Попробуйте выполнить следующее:
from keras.models import Sequential
from keras.layers import Dense, LSTM
model = Sequential()
model.add(LSTM(64, input_shape=(23,178)))
model.compile(loss='mse', optimizer='sgd')
model.summary()
print model.input
Это простоупрощенная модель, которая выводит один вектор шириной 64 для каждой выборки.Вы увидите, что ожидаемый model.input:
Tensor("lstm_3_input:0", shape=(?, 23, 178), dtype=float32)
batch_size не задан в форме ввода, что означает, что модель может использоваться для обучения / прогнозирования пакетов разных размеров.