Error: Error al verificar la entrada del modelo: se esperaba que dense_input_6 tuviera forma (Ninguna, 784) pero que obtuviera una matriz con forma (784L, 1L)

Recibo un error al intentar aplicar el código a continuación en el conjunto de datos de muestra MNIST para entrenamiento y pruebas. Por favor ayuda

El siguiente es mi código:

import pandas import numpy import numpy from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense from keras.layers import Dropout from keras.utils import np_utils # fix random seed for reproducibility seed = 7 numpy.random.seed(seed) # Read in the TRAINING dataset f = open("C:/Users/USER/Desktop/mnist/mnist_train_100.csv", 'r') a = f.readlines() # place everythig in a lsit called 'a' #print(a) f.close() # go through the list a and split by comma output_nodes = 10 for record in a: #go through the big list "a" all_values = record.split(',') X_train = (numpy.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01 y_train = numpy.zeros(output_nodes) + 0.01 y_train[int(all_values[0])] = 0.99 # Read in the TEST data set and then split f = open("C:/Users/USER/Desktop/mnist/mnist_test_10.csv", 'r') a = f.readlines() # place everythig in a lsit called 'a' #print(a) f.close() # go through the list a and split by comma for record in a: #go through the big list "a" all_values = record.split(',') X_test = (numpy.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01 y_test = numpy.zeros(output_nodes) + 0.01 y_test[int(all_values[0])] = 0.99 num_pixels = len(X_train) # define baseline model def baseline_model(): # create model model = Sequential() model.add(Dense(num_pixels, input_dim=num_pixels, init='normal', activation='relu')) model.add(Dense(output_nodes, init='normal', activation='softmax')) # Compile model model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) return model ## build the model #model = baseline_model() ## Fit the model #model.fit(X_train, y_train, validation_data=(X_test, y_test), nb_epoch=10, batch_size=200,verbose=2) 

Obtuve el siguiente error:

Excepción: error al verificar la entrada del modelo: se esperaba que dense_input_6 tuviera forma (Ninguna, 784) pero que obtuviera una matriz con forma (784L, 1L)

Supongo que estás trabajando con este tutorial .

Recomendaría usar pandas para leer su formato:

 import pandas as pd import numpy as np data = pd.read_csv('mnist_train_100.csv', header=None) # numpy array of shape (100, 784), type float32 X_train = data.ix[:, 1:].values.astype(np.float32) # numpy array of shape (100,), type int64 y_train = data.ix[:, 0].values