# How to give a 3D Tensor as input to LSTM

I'm having X_train of shape (1400, 64, 35) and y_train of shape (1400,). I want to give X_train as input to LSTM layer and also want to find the Average (using GlobalAveragePooling Layer) of the Output of LSTM at each time step and give it as input to a Dense Layer. For this problem how to connect the layers and build a sequential model?

I'm using Tensorflow.Keras API's

• It would help knowing more about your data, but you could look into ConvLSTM networks. – tehem Aug 24 '20 at 15:35

LSTM takes as input 3 dimension tensors (batch_size,time_step,input). So before adding a LSTM() layer you need to either use Flatten() or TimeDistributed(Flatten()) layer.

If you understand how a particular type of Layer works, you can simply add them as at the end all of these are Tensor operations.
But you must know what are you doing.

May do this way

from keras.models import Sequential
from keras import layers

model = Sequential()