title: When bulding a CNN, I am getting complaints from Keras that do not make sense to me.
body: <p>My input shape is supposed to be 100x100. It represents a sentence. Each word is a vector of 100 dimensions and there are 100 words at maximum in a sentence. </p>
  
  <p>I feed eight sentences to the CNN.I am not sure whether this means my input shape should be 100x100x8 instead. </p>
  
  <p>Then the following lines</p>
  
  <pre><code>Convolution2D(10, 3, 3, border_mode='same',
                         input_shape=(100, 100))
  </code></pre>
  
  <p>complains:</p>
  
  <p>Input 0 is incompatible with layer convolution2d_1: expected ndim=4, found ndim=3</p>
  
  <p>This does not make sense to me as my input dimension is 2. I can get through it by changing input_shape to (100,100,8). But the "expected ndim=4" bit just does not make sense to me. </p>
  
  <p>I also cannot see why a convolution  layer of 3x3 with 10 filters do not accept input of 100x100. </p>
  
  <p>Even I get thru the complains about the "expected ndim=4". I run into problem in my activation layer. There it complains:</p>
  
  <p>Cannot apply softmax to a tensor that is not 2D or 3D. Here, ndim=4</p>
  
  <p>Can anyone explain what is going on here and how to fix it? Many thanks. </p>