2017-10-12 12 views
0

J'utilise python keras pour construire un modèle cnn. Je suis l'exemple de cnn mnist et je le modifie en code.Forme python trop grande pour être une matrice

Ceci est l'exemple que je trouve

# Read MNIST data 
(X_Train, y_Train), (X_Test, y_Test) = mnist.load_data() 
# Translation of data 
X_Train40 = X_Train.reshape(X_Train.shape[0], 28, 28, 1).astype('float32') 
X_Test40 = X_Test.reshape(X_Test.shape[0], 28, 28, 1).astype('float32') 

Mes données a 30222 lignes et 6 colonnes de csv.

Qui est 10074 données chaque donnée est de taille 3 * 6 pour un bloc d'information.

Par exemple, le 1 ~ 3row de la matrice est un bloc d'informations.

Puis j'ai changé le format de mes données.

X_Train40 = X_Train.reshape(10074, 3, 6, 1) 
X_Test40 = X_Test.reshape(4319, 3, 6, 1) 

Ensuite, cette erreur se produit.

--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-133-4f23172d450a> in <module>() 
----> 1 X_Train40 = X_Train.reshape(10074, 3, 6, 1) 
     2 X_Test40 = X_Test.reshape(4319, 3, 6, 1) 

~\Anaconda3\lib\site-packages\numpy\matrixlib\defmatrix.py in __array_finalize__(self, obj) 
    269     return 
    270    elif (ndim > 2): 
--> 271     raise ValueError("shape too large to be a matrix.") 
    272   else: 
    273    newshape = self.shape 

ValueError: shape too large to be a matrix. 
+0

Qu'est-ce que - 'forme de python grand pour être une matrice? – Divakar

+1

Utilisez-vous 'np.matrix'? Si oui, essayez 'np.array (X_Train) .reshape (10074, 3, 6, 1)' –

+0

@JulioDanielReyes Merci! C'est du travail! – user8764302

Répondre

1

juste deviner, mais étant donné que les données proviennent d'un fichier csv, il a été converti en np.matrix, qui ont la restriction d'être 2 dimensions.

interne numpy va essayer de garder les dimensions de la matrice, afin de remodeler à des dimensions supérieures, vous devrez le convertir en un ndarray comme ceci:

X_Train = np.array(X_Train) 
X_Test = np.array(X_Test) 
X_Train40 = X_Train.reshape(10074, 3, 6, 1) 
X_Test40 = X_Test.reshape(4319, 3, 6, 1)