Ich versuche derzeit, ein Word2vec-Modell für meine Firma zu trainieren. Dazu habe ich den Code https://github.com/tensorflow/models, speziell https://github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec.py verwendet.Tensorflow Model wird nicht korrekt geladen
Ich habe den deutschen Wikipedia-Dump heruntergeladen und die Textinformationen daraus extrahiert. Die Aufgabe besteht darin, ein Modell mit diesen Daten zu trainieren.
Ich arbeite an einer virtuellen Maschine, die Ubuntu 16.04 und Zugriff auf eine Tesla M60 hat. Für das Wochenende trainierte ich das Modell und speicherte die Checkpoints in einem separaten Ordner. Am Ende des Wochenendes konnte das Modell antworten 36% der Evaluierungsfragen, die ich ihm gab (deutsche Fragen ähnlich dem Beispiel "questions-word.txt"). Nach dem Training möchte ich das Modell laden und die Auswertungsaufgabe erneut ausführen. Dazu änderte ich den Code in folgenden Zeilen (außer Pfadänderungen): I
hinzugefügtwith tf.Graph().as_default(), tf.Session() as session:
saver = tf.train.import_meta_graph(opts.save_path + "/model.ckpt-288720426.meta")
saver.restore(session, tf.train.latest_checkpoint('./results'))
print("Model restored.")
with tf.device("/cpu:0"):
model = Word2Vec(opts, session)
model.read_analogies() # Read analogy questions
for _ in xrange(opts.epochs_to_train):
#model.train() # Process one epoch
model.eval() # Eval analogies.
Ich habe die beiden Linien zum Laden des Modells (saver = ...) und die Trainingsleitung kommentiert werden. Blick auf die Meta-und neuesten Checkpoint-Dateien und Tensorboard zeigt ein geschultes Modell, aber wenn ich den Code ausführen, führt die Auswertung in 0,1% richtige Antworten, die mir scheint, wie das Modell mit einem untrainierten Modell neu startet. Ich erwartete das Ergebnis wieder 36%.
Kann mir jemand den Fehler erklären, den ich im Code gemacht habe, oder vielleicht sogar in meinem Denken?
Vielen Dank für Ihre Hilfe. Das Ersetzen der vorgeschlagenen Zeile durch die im Link angegebenen Zeilen hat das Problem gelöst! –