Ich möchte eine grundlegende RNN erstellen, die zwei Bytes hinzufügen kann. Hier sind die Eingangs- und Ausgangssignale, die aus einer einfachen Addition zu erwarten sindDimensionskonflikt in LSTM Keras
X = [[0, 0], [0, 1], [1, 1], [0, 1], [1, 0], [1, 0], [1, 1], [1, 0]]
Das heißt, X1 = 00101111
und X2 = 01110010
Y = [1, 0, 1, 0, 0, 0, 0, 1]
I das folgende aufeinanderfolgenden Modell erstellt
model = Sequential()
model.add(GRU(output_dim = 16, input_length = 2, input_dim = 8))
model.add(Activation('relu'`))
model.add(Dense(2, activation='softmax'))
model.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.summary()
Der Fehler I bekommen ist etwas entlang
erwartet
lstm_input_1
3 Dimensionen haben, bekam aber Array mit Form(8L, 2L)
Also, wenn ich die Maße erhöhen, indem X
[[[0 0]] [[1 1]] [[1 1]] [[1 0]] [[0 0]] [[1 0]] [[0 1]] [[1 0]]]
dann die Fehler Änderungen
erwartet Veränderung
lstm_input_1
zu haben Form(None, 8, 2)
aber bekam Array mit Form(8L, 1L, 2L)