Erreur lors de la vérification de l'entrée du modèle: convolution2d_input_1 attendu aura 4 dimensions, mais aura un tableau avec la forme (32, 32, 3)
Je voudrais former un réseau profond en commençant par la couche suivante:
model = Sequential()
model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
à l'aide de
history = model.fit_generator(get_training_data(),
samples_per_epoch=1, nb_epoch=1,nb_val_samples=5,
verbose=1,validation_data=get_validation_data()
avec la suite de générateur:
def get_training_data(self):
while 1:
for i in range(1,5):
image = self.X_train[i]
label = self.Y_train[i]
yield (image,label)
(validation générateur ressemble).
Au cours de la formation, j'obtiens l'erreur:
Error when checking model input: expected convolution2d_input_1 to have 4
dimensions, but got array with shape (32, 32, 3)
Comment peut-on, avec une première couche
model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
?
source d'informationauteur user1934212 | 2017-01-10
Vous devez vous connecter pour publier un commentaire.
L'entrée de la forme que vous avez définie est la forme d'un seul échantillon. Le modèle lui-même s'attend à une certaine gamme d'échantillons en entrée (même si c'est un tableau de longueur 1).
Votre sortie doit être vraiment 4-d, avec la 1ère dimension d'énumérer les échantillons. c'est à dire pour une seule image, vous devez retourner une forme de (1, 32, 32, 3).
Vous pouvez trouver plus d'informations ici sous "Convolution2D"/"d'Entrée de la forme"