2017-10-05 7 views
1

Als ich die obigen tutorial unter Verwendung der von den Entwicklern selbst zur Verfügung gestellten Daten ausgeführt habe, war das Training und der nachfolgende Befehl, um das Modell zu erhalten, sobald das Training abgeschlossen ist (Python tensorflow/examples/rede_commands/freeze.py \ --start_checkpoint =/tmp/rede_commands_train/conv.ckpt-18000 \ --output_file =/tmp/mein_frozen_graph.pb ) hat gut funktioniert. Ich konnte das Modell erhalten und testen.Tensorflow: Einfache Audioerkennung Netzwerk Tutorial ERROR: Assign erfordert Formen beider Tensoren zu entsprechen. lhs shape = [12] rhs shape = [3]

Aber als ich einen Ordner mit meinen eigenen Daten, die mehrere Audiodateien eines Wortes enthielten, zu den bereits existierenden hinzufügte und dieses Wort in der Flagge --wanted word wählte und die notwendigen Befehle ausführte, ging das Training weiter gut, aber an dem Punkt, das Modell (der oben erwähnte Befehl wieder) bekomme ich den folgenden Fehler:

InvalidArgumentError (siehe oben für Traceback): Assign erfordert Formen der beiden Tensoren zu entsprechen. lhs form = [12] rhs form = [3]

Wie überwinde ich das? Ist es ein Fehler im Tensorfluss? Ich habe überprüft und festgestellt, dass die Kontrollpunktdateien des vorherigen Trainings das neue Training stören könnten. Aber selbst wenn ich einen neuen Ordner zum Speichern der neuesten Prüfpunktdateien erstelle, bleibt das Problem bestehen.

Vielen Dank.

+0

hast du es geschafft, dieses Problem zu lösen? –

+0

@Nati Krisi, ja das Problem ist gelöst. Wenn Sie freeze.py öffnen, erwähnen sie, dass – pravah

+0

@Nati Krisi, ja das Problem gelöst ist. Wenn Sie freeze.py öffnen, erwähnen sie, dass die im Trainingsbefehl verwendeten Flags und das Einfrieren dieses Modells identisch sein sollten. Daher mussten wir das --wanted_words = * erwähnen, was auch immer im Trainingsbefehl * flag erwähnt wurde. Dann wird der Befehl: python tensorflow/examples/rede_commands/freeze.py \ --start_checkpoint =/tmp/rede_commands_train/conv.ckpt-18000 \ --wanted_words = * während des Trainings gewählt * output_file =/tmp/my_frozen_graph.pb – pravah

Antwort

0

Dies ist, weil Sie nur einen Audioordner haben, dh nur einen Trainingssatz und in der freeze.py, haben Sie es nicht zu Ihren Etiketten geändert, so dass standardmäßig die vorhandenen (10 Etiketten + unbekannt und Stille) 13.

Alles, was Sie tun müssen, ist auf die freeze.py gehen und ändern Sie es in Ihr Dataset und nicht die Standardwerte.

Verwandte Themen