title: Python keras neural network (Theano) package returns an error about data dimensions
body: <p>I have this code:</p>
  
  <pre><code>import numpy as np
  from keras.models import Sequential
  from keras.layers.core import Dense, Dropout, Activation
  from keras.optimizers import SGD
  from sklearn import datasets
  import theano
  
  iris = datasets.load_iris()
  X = iris.data[:,0:3]  # we only take the first two features.
  Y = iris.target
  
  X = X.astype(theano.config.floatX)
  Y = Y.astype(theano.config.floatX)
  
  
  model = Sequential()
  model.add(Dense(150, 1, init='uniform'))
  model.add(Activation('tanh'))
  model.add(Dropout(0.5))
  model.add(Dense(150, 1, init='uniform'))
  model.add(Activation('tanh'))
  model.add(Dropout(0.5))
  model.add(Dense(150, 1, init='uniform'))
  model.add(Activation('softmax'))
  
  sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
  model.compile(loss='mean_squared_error', optimizer=sgd)
  
  model.fit(X, Y, nb_epoch=20, batch_size=150)
  
  
  score = model.evaluate(X_train, y_train, batch_size=16)
  </code></pre>
  
  <p>Returns this error:</p>
  
  <pre><code>ValueError: Shape mismatch: x has 3 cols (and 150 rows) but y has 150 rows (and 1 cols)
  Apply node that caused the error: Dot22(&lt;TensorType(float64, matrix)&gt;, &lt;TensorType(float64, matrix)&gt;)
  Inputs types: [TensorType(float64, matrix), TensorType(float64, matrix)]
  Inputs shapes: [(150L, 3L), (150L, 1L)]
  Inputs strides: [(24L, 8L), (8L, 8L)]
  Inputs values: ['not shown', 'not shown']
  </code></pre>
  
  <p>What is the problem?</p>