Ich habe viele Male versucht und las die Antwort auf die Frage ähnlich wie ich, aber immer noch nicht lösen.Fehler beim Überprüfen der Eingabe: erwartet acc_input 4 Dimensionen zu haben, aber Array mit Form (200, 3, 1)
Fehler bei der Überprüfung Eingang: erwartete acc_input 4 Dimensionen zu haben, bekam aber Array mit Form (200, 3, 1)
model.fit(x=[acc_,gyro_],y=[scaled_labels],batch_size=1,validation_split=0.2, epochs=2,verbose=1,shuffle=False)
Die erste Schicht meines Netzes ist die Eingangsschicht
acc_input_tensor = Input(shape=(200,3,1),name = 'acc_input')
gyro_input_tensor = Input(shape=(200,3,1),name= 'gyro_input')
Der Eingang ist die Beschleunigung und Gyroskop Daten. 200 bezieht sich auf 200 Datensätze, 3 bezieht sich auf die Beschleunigung des gemessenen Wertes von x, y, z. Ich stellte die Beschleunigungsdaten und Kreiseldaten umformen in (200 * 3 * 1)
acc_ = np.reshape(acc,(200,3,1))
gyro_ = np.reshape(gyro,(200,3,1))
Der Eingang ist von dreidimensionalen Daten, die gegebene Dateneingabe ist dreidimensional, warum es vierdimensionalen Anforderungen? Wie man es ändert?
Danke sein! ich die Beschleunigungsdaten in einem Zyklus als Eingabe verwenden (200 * 3), acc_input_tensor = Input (Form = (200,3), name = 'acc_input') gyro_input_tensor = Eingabe (shape = (200,3), name = 'gyro_input') Dies ist immer noch ein Fehler zu modifizieren – xianglala
Ich spreche (200 * 3) in (20 * 30 * 1) in die Faltungsschicht umformen , Convolution-Layer erfordern dreidimensionale Daten – xianglala
Die Eingabeform für Faltung hängt von der Art der Faltungsschicht ab, die Sie verwenden, aber auf jeden Fall nimmt 'shape =()' nicht die Größe der ersten Dimension an, nur die zweite, dritte, vierte ... und so weiter. – DJK