title: Convolutional layers with 3 channels image
body: <p>I would like to use the DQN code from the Keras-rl library (<a href="https://github.com/matthiasplappert/keras-rl/blob/master/examples/dqn_atari.py" rel="nofollow noreferrer">https://github.com/matthiasplappert/keras-rl/blob/master/examples/dqn_atari.py</a>) with 3 channels images (without grayscale conversion).</p>
  
  <p>How to change the code to do it ? I tried to remove this line : <code>img = img.resize(INPUT_SHAPE).convert('L') # resize and convert to grayscale</code> but I have dimension errors..</p>
  
  <p>I added <code>from keras import backend as K
  K.set_image_dim_ordering('th')</code> 
  and I change the network achitecture :</p>
  
  <pre><code>model = Sequential()
  model.add(Permute((3, 1, 2),input_shape=(200,200,3)))
  model.add(Lambda(lambda a: a / 255.0))
  model.add(Conv2D(32, (8, 8), strides=(2, 2), activation=activation))
  model.add(Conv2D(32, (4, 4), strides=(2, 2), activation=activation))
  model.add(Conv2D(32, (3, 3), strides=(2, 2), activation=activation))
  model.add(Conv2D(32, (2, 2), strides=(1, 1), activation=activation))
  model.add(TimeDistributed(Flatten()))
  model.add(LSTM(128))
  for i in xrange(nb_layers):
      model.add(Dense(hidden_size, activation=activation))
  model.add(Dense(env.action_space.n + 1))
  model.add(Lambda(lambda a: K.expand_dims(a[:, 0], axis=-1) + a[:, 1:], output_shape=(env.action_space.n,)))
  print(model.summary())
  </code></pre>
  
  <p>but at runtime : </p>
  
  <blockquote>
    <p>ValueError: Error when checking : expected permute_1_input to have 4 dimensions, but got array with shape (1, 1, 200, 200, 3)</p>
  </blockquote>
  
  <p>How to handle the 3 channel images ?</p>