2016-06-14 1 views
0

J'essaie de répliquer exactement this tutorial sur les réseaux de neurones en utilisant l'ensemble de données MNIST. Quand je copier-coller juste dans mon éditeur Python, je reçois l'exception suivante:problème d'entrée-forme dans les réseaux de neurones avec Keras en Python

Exception: The first layer in a Sequential model must get an `input_shape` or `batch_input_shape` argument. 

J'ai donc essayé de préciser le sheme d'entrée en utilisant

model.add(Convolution2D(32, 1, 3, 3, border_mode='same', input_sheme=(1,28,28))) 

mais je suppose que je l'ai fait mal.

Quelqu'un peut-il aider?

Répondre

2

Typo

model.add(Convolution2D(32, 1, 3, 3, border_mode='same', input_sheme=(1,28,28))) 
                   ^

devrait être

model.add(Convolution2D(32, 1, 3, 3, border_mode='same', input_shape=(1,28,28))) 
0

Il dit donc il droit

Exception: La première couche dans un modèle séquentiel doit obtenir un argument input_shape ou batch_input_shape.

Je vais maintenant essayer de casser ce message d'erreur pour vous. La prochaine fois que vous l'essayez vous-même.

La première couche dans un modèle séquentiel [...]

Un modèle séquentiel est un modèle qui utilise une séquence de couches pour générer une sortie à partir d'une entrée. Je suppose que la couche Convolution2D est en fait la première couche de votre modèle.

[...] doit obtenir un argument input_shape ou batch_input_shape.

Keras doit connaître la forme de l'entrée. Vous devez donc le fournir à la première couche ou utiliser un calque Input avec cette forme. Vous fournissez le paramètre input_sheme, que cette couche n'a même pas. Essayez de fournir input_shape à la place. Pour MNIST, c'est généralement (784,) car c'est le nombre de pixels qu'une image 28 par 28 a.