2016-10-13 5 views
1

Ich arbeite an Tensorflow Textsum (Text Zusammenfassung Modell). Ich habe es auf Lauf gesetzt, um das Modell mit den Beispieldaten zu trainieren, d. H. Spielzeugdatensatz, der mit dem Modell geliefert wird, während von git geklont wird. Ich wollte wissen, wie viel Zeit es braucht, um das Modell zu trainieren und mit dem Beispieldatensatz zu dekodieren. Es hat bereits mehr als 17 Stunden gedauert und läuft noch.Wie viel Zeit wird benötigt, um mit Beispieldaten (Spielzeug-Beispieldaten) für Tensorflow-Texte zu trainieren?

+0

Wie @Eilian unten gesagt hat, wenn Sie dies auf einer CPU ausführen, könnten Sie eine Weile dort sein. Wenn Sie keinen Zugriff auf eine GPU haben, sollten Sie sich eine AWS G2- oder P2-Instanz besorgen: https://aws.amazon.com/ec2/instance-types/ Als ich das Training mit dem Spielzeugdatensatz durchführte Nach ungefähr einem Tag Training auf meinem 980M habe ich anständige Ergebnisse mit einem sehr niedrigen durchschnittlichen Verlust. Es ist jedoch wichtig zu beachten, dass Sie keine gültigen Ergebnisse erhalten, wenn Sie den enthaltenen Spielzeugdatensatz Vokabeln verwenden, da die Wörter im Trainingsdatensatz nicht in der Spielzeug-Vokabeldatei enthalten sind. https://github.com/tensorflow/models/issues/464 – xtr33me

+0

Ich laufe Trainingsmodell auf GPU auf; y. Aber ich habe die max_run_steps auf '2000' geändert. Es lief 2-3 Stunden und das Model wird trainiert. –

+0

Hier habe ich den Spieldatensatz in 17-4 aufgeteilt (Trainingstest). und trainierte das Modell mit derselben Vokabeldatei. aber ich habe ein Problem mit dem Decodierschritt. Muss ich die Vokabeldatei ändern, wenn ich die Trainingsdaten ändere? Wie kann ich die Vokabeldatei aus dem Trainingsdatensatz generieren? –

Antwort

1

Leider mit dem Spielzeug Daten Trainingssatz, es ist nur dazu gedacht, Ihnen eine Möglichkeit zu bieten, den gesamten Fluss des Modells zu beobachten und nicht dazu gedacht, Ihnen anständige Ergebnisse zu liefern. Dies liegt daran, dass im Spieldatensatz einfach nicht genügend Daten zur Verfügung gestellt werden, um gute Ergebnisse zu liefern.

Die Zeit ist etwas schwierig zu liefern, da alles relativ zu der Hardware ist, auf der Sie laufen. Normalerweise trainierst du so lange, bis du zu einem durchschnittlichen Verlust zwischen 2 und 1 kommst. Xin Pan: Bei größeren Datensätzen solltest du nie unter 1,0 Durchschnittsverlust gehen. Also konnte ich das an meinem 980M in weniger als einem Tag mit dem Spieldatensatz erreichen.

Das sagte, meine Ergebnisse waren wirklich schlecht und ich dachte, dass etwas nicht stimmt. Ich fand, dass das einzige, was falsch war, dass ich nicht genug Daten hatte. Ich kratzte dann etwa 40k Artikel und trotzdem waren die Ergebnisse nicht akzeptabel. Kürzlich habe ich gegen 1,3 Millionen Artikel trainiert und die Ergebnisse sind so viel besser. Nach einer weiteren Analyse liegt es hauptsächlich daran, dass das Textummodell eher abstrakt als extraktiv ist.

Hoffe das hilft etwas. Für die 1,3 Millionen und die Charge auf 64, konnte ich das Modell auf meiner Hardware in weniger als anderthalb Wochen mit TF 0.9, Cuda 7.5 und Kuscheln 4 trainieren. Ich höre, dass die neue cudnn/cuda schneller sein soll , aber dazu kann ich noch nicht sprechen.

0

Auf meinem i5-Prozessor, der nur CPU verwendet, dauerte es ungefähr 60 Stunden, um einen Wert von 0,17 für den Spielzeug-Trainingsdatensatz zu erreichen.

Mit 8 GB RAM verbraucht es einen zusätzlichen Speicher von etwa 10 GB zusätzlichen Swap. Ein erhöhter RAM und die Verwendung von GPU könnte bessere Ergebnisse geliefert haben. Momentan kann ich kein Bild vom durchschnittlichen Verlust von Tensorboard anzeigen, aber ich hoffe, dass Ihre Anfrage beantwortet wurde.

Verwandte Themen