2016-04-16 5 views

Répondre

0

Je pense que vous avez 70000 échantillons avec 4 points chacun. Dans ce cas, utilisez Dense (64, input_shape=(4,)) et cela devrait fonctionner.

Le filet serait itérer sur les échantillons en morceaux de batch_size, bien que votre filet est probablement assez petit que vous pouvez définir batch_size à quelques milliers, voire la même taille que l'entrée.

Vieille réponse Je pensais que chaque échantillon était 70000x4 ...

La couche Dense ne peut pas prendre une matrice en entrée. De la documentation Keras, Dense(n_nodes, input_shape=(n_inputs,)) est équivalent à Dense(n_nodes, input_dim=n_inputs), et cela semble être le seul type d'entrée qu'il faut. Ici n_inputs est un nombre entier.

Vous avez deux options: soit aplatir X avant de passer au réseau avec X.reshape(-1), ou utiliser Reshape comme la première couche, comme ceci:

model = Sequential() 
model.add(Reshape((X.size,), input_shape=(X.shape))) 
model.add(Dense(64)) 

Vous pourrez peut-être utiliser Flatten au lieu de Reshape , bien que je ne peux pas dire à partir de la documentation si Flatten peut prendre un paramètre input_shape.