title: strides should be of length 1, 1 or 3 but was 2
body: <p>I have been trying to stack Convolutional neural networks with GRUs for an image to text problem.
  Here's my model :</p>
  
  <pre><code>model=Sequential()
  
  model.add(TimeDistributed(Conv2D(16,kernel_size 
  (3,3),data_format="channels_last",input_shape= 
  (129,80,564,3),padding='SAME',strides=(1,1))))
  model.add(TimeDistributed(Activation("relu")))
  model.add(TimeDistributed(Conv2D(16,kernel_size =(3,3),strides=(1,1))))
  model.add(TimeDistributed(Activation("relu")))
  model.add(TimeDistributed(MaxPooling2D(pool_size=2,strides=(1,1) )))
  model.add(TimeDistributed(Reshape((280*38*16,))))
  model.add(TimeDistributed(Dense(32)))
  model.add(GRU(512))
  model.add(Dense(50))
  model.add(Activation("softmax"))
  
  model.compile(loss='categorical_crossentropy', optimizer='adam', metrics= 
   ['accuracy'])
  </code></pre>
  
  <p>When I try to fit my model I get the following error :</p>
  
  <pre><code>-------------------------------------------------------------------------
  ValueError                                Traceback (most recent call 
  last)
  &lt;ipython-input-125-c6a3c418689c&gt; in &lt;module&gt;()
    1 nb_epoch = 100
   ----&gt; 2 model.fit(X2,L2, epochs=100)
  
   10 frames
   /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/nn_ops.py 
   in _get_sequence(value, n, channel_index, name)
   71   else:
   72     raise ValueError("{} should be of length 1, {} or {} but was 
   {}".format(
   ---&gt; 73         name, n, n + 2, current_n))
   74 
   75   if channel_index == 1:
  
   ValueError: strides should be of length 1, 1 or 3 but was 2
  </code></pre>
  
  <p>I cannot even begin to wrap my head around why this message appears.I have specified the "strides" parameters for all layers. Any help will be deeply appreciated.</p>
  
  <p>P.S - I did not have any problems when I tried to fit a model without TimeDistributed layers. Maybe there is something to do with this that raises this error.</p>