2016-04-16 3 views

Antwort

0

Ich denke, Sie haben 70000 Proben mit je 4 Punkten. In diesem Fall verwenden Sie Dense (64, input_shape=(4,)) und es sollte funktionieren.

Das Netz würde über die Proben in Teilen von batch_size iterieren, obwohl Ihr Netz ist wahrscheinlich klein genug, dass Sie batch_size auf ein paar tausend oder sogar die gleiche Größe wie die Eingabe festlegen können.

Alte Antwort Ich dachte jede Probe war 70000x4 ...

Die Dense Schicht nicht eine Matrix als eine Eingabe erfolgen kann. Aus der Keras-Dokumentation entspricht Dense(n_nodes, input_shape=(n_inputs,))Dense(n_nodes, input_dim=n_inputs), und das scheint die einzige Art von Eingabe zu sein, die es braucht. Hier ist n_inputs eine ganze Zahl.

Sie haben grundsätzlich zwei Möglichkeiten: entweder X glätten, bevor sie in das Netzwerk mit X.reshape(-1) vorbei, oder Reshape als erste Schicht verwendet werden, wie folgt aus:

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

Sie können möglicherweise Flatten statt Reshape verwenden obwohl ich aus der Dokumentation nicht ersehen kann, ob Flatten einen input_shape Parameter annehmen kann.