Keras d'erreur : voir tableau 1
J'ai eu l'erreur suivante quand j'ai essayé de former un MLP modèle dans keras(je suis à l'aide de keras version 1.2.2
)
Erreur lors de la vérification des données d'entrée du modèle: la liste des tableaux Numpy que vous
êtes de passage à votre modèle n'est pas la même taille que le modèle prévu. Attendu
pour voir tableaux 1, mais plutôt le suivant de la liste de 12859 tableaux:
Ceci est le résumé du modèle
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
dense_1 (Dense) (None, 20) 4020 dense_input_1[0][0]
____________________________________________________________________________________________________
dense_2 (Dense) (None, 2) 42 dense_1[0][0]
====================================================================================================
Total params: 4,062
Trainable params: 4,062
Non-trainable params: 0
____________________________________________________________________________________________________
None
C'est la première ligne de modèle
model.add(Dense(20, input_shape=(200,), init='lecun_uniform', activation='tanh'))
Pour la formation:
model.fit(X,Y,nb_epoch=100,verbose=1)
où X est une liste d'éléments et chaque élément est une liste de 200 valeurs.
Edit :
J'ai aussi essayé
model.add(Dense(20, input_shape=(12859,200), init='lecun_uniform', activation='tanh'))
mais j'obtiens la même erreur
Essayez d'utiliser le mot-clé
Que diriez -
Essayer de passer un
Exactement. Il serait mieux si vous avez fourni un code complet - avec
Merci les gars .. il semble fonctionner avec input_dim=200 , en passant np.tableau(X).
input_dim
à la place: input_dim=200
qui définit le nombre de nœuds d'entrée. Le nombre d'échantillons est variable. Avec input_shape
vous devez spécifier la forme, c'est à dire le nombre d'échantillons (input_shape=(len(X), 200)
).Que diriez -
model.fit(numpy.array(X), Y,nb_epoch=100,verbose=1)
il semble que, pour une raison quelconque, votre X
n'est pas un tableau numpy.Essayer de passer un
np.array(X)
au lieu d'une liste de np.array
à model.fit
.Exactement. Il serait mieux si vous avez fourni un code complet - avec
X
et Y
définition. Essayez d'imprimer type(X)
.Merci les gars .. il semble fonctionner avec input_dim=200 , en passant np.tableau(X).
OriginalL'auteur MysticForce | 2017-03-04
Vous devez vous connecter pour publier un commentaire.
Votre erreur vient du fait que votre
X
pour une raison quelconque n'était pas transformé ennumpy.array
. Dans cetteX
est traitée comme une liste de lignes et c'est une raison derrière votre message d'erreur (qu'il attend une entrée au lieu de la liste qui a un certain nombre de lignes d'éléments). Transformation:Je voudrais vérifier un chargement des données parce que quelque chose pourrait aller mal.
Mise à JOUR:
Comme il a été mentionné dans un commentaire -
input_shape
besoin d'être changé àinput_dim
.Mise à JOUR 2:
Afin de garder
input_shape
on devrait changer pourinput_shape=(200,)
.Fait. Si vous voulez garder
input_shape
puis essayezinput_shape=(200,)
.ouais .. qui travaille trop .. j'ai revérifié
OriginalL'auteur Marcin Możejko
Je fixe la mienne en ajoutant
à train_X , train_Y , valid_X et valid_Y. Par exemple,
J'ai eu l'aide de ici. Cette approche est susceptible d'avoir un lent car toutes les données caractéristiques devront être converties à des tableaux numpy et il pourrait être beaucoup de travail pour votre système.
OriginalL'auteur rocksyne