title: CNN LSTM keras for video classification
body: <p>I have created a video dataset where each video have dimensions 5(frames) x 32(width) x 32(height) x 4 (channels). I'm trying to classify (binary classification) these videos using a CNN LSTM network but I'm confused about the input shape and how I should reshape my dataset to train the network.</p>
  
  <pre><code>model = Sequential()
  model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv1', input_shape=??))
  model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool1')))
  
  model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv2'))
  model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool2')))
  
  model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv3'))
  model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool3')))
  
  model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv4'))
  model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool4')))
  
  
  model.add(TimeDistributed(Flatten()))
  model.add(LSTM(256, return_sequences=False, dropout=0.5))
  model.add(Dense(1, activation='sigmoid'))
  </code></pre>
  
  <p>Am I missing anything in the model? </p>