Tensorflow summery merge error: Shape [-1,784] hat negative Dimensionen

8

Ich versuche, eine Zusammenfassung eines Trainingsprozesses des neuronalen Netzes unten zu erhalten.

%Vor%

Ich teste das Modell alle 10 Schritte mit einer zufälligen Charge von Testdaten. Das Problem liegt im sommerlichen Schriftsteller. Das sess.run () innerhalb der for-Schleife löst folgenden Fehler aus.

%Vor%

Wenn ich alle Übersichtsschreiber und die Zusammenfassung gelöscht habe, läuft das Modell einwandfrei. Kannst du mir helfen, das Problem hier zu erkennen? Ich habe versucht, die Tensorenformen zu manipulieren, aber ich kam nicht weiter.

    
nsuman 22.06.2017, 18:23
quelle

3 Antworten

3

Von einem Kommentar der gelöschten Antwort, vom ursprünglichen Poster:

  

Ich baue tatsächlich ein neuronales Netz unter with tf.Graph() as g . Ich habe die interaktive Sitzung entfernt und die Sitzung als with tf.Session(g) as sess gestartet. Es hat das Problem behoben.

Das Diagramm g wurde auf diese Weise nicht als Standarddiagramm markiert, daher verwendet die Sitzung ( tf.InteractiveSession im ursprünglichen Code) stattdessen ein anderes Diagramm.

Beachten Sie, dass ich hier wegen der gleichen Fehlermeldung gestolpert bin. In meinem Fall hatte ich versehentlich so etwas:

%Vor%

i.e. Ich habe den Platzhalter nicht gefüttert. Es scheint, dass einige andere Tensoroperationen zu diesem verwirrenden Fehler führen können, da intern eine undefinierte Dimension als -1 dargestellt wird.

    
Albert 02.08.2017 09:27
quelle
1

Ich hatte auch dieses Problem. Um den Grundkonsens herum zu suchen, ist es, woanders in deinem Code nach Problemen zu suchen.

Was es für mich repariert hat, war, dass ich eine sess.run(summary_op) mache, ohne Daten für meine Platzhalter einzufügen.

Tensorflow scheint mit Platzhaltern etwas seltsam zu sein, oft haben sie nichts dagegen, wenn Sie sie nicht füttern, wenn Sie versuchen, einen Teil des Graphen zu bewerten, der unabhängig von ihnen ist. Hier war es jedoch.

    
Fergal 13.07.2017 11:40
quelle
0

Dies hat möglicherweise mit der InteractiveSession Initialisierung zu tun.

Ich initialisierte es am Anfang und dann funktionierte es - dann initialisierten die globalen Variablen innerhalb der Sitzung.

Ich kann den Fehler nicht mit dem alten Code reproduzieren, wodurch Einstellungen irgendwo unvorhersehbar oder zwischengespeichert werden.

%Vor%     
RK_ 12.08.2017 20:36
quelle

Tags und Links