2017-12-18 7 views
1

Ich habe ein Word2vec-Modell in Tensorflow trainiert. Aber wenn ich die Sitzung speichere, gab es nur model.ckpt.data/.index/.meta Dateien aus.Wie kann man das word2vec des Tensorflusses in Text-/Binärdateien für die spätere Verwendung der kNN-Ausgabe speichern?

Ich dachte über die Implementierung der KNN-Methode beim Abrufen der nächsten Wörter nach. Ich sah Antworten mit Gensim, aber wie kann ich meine Tensorflow word2vec Modell zuerst in .txt speichern?

Antwort

0

Bewerten Sie einfach die Einbettungsmatrix in ein numpy Array und schreiben Sie sie zusammen mit aufgelösten Wörtern in die Datei. Beispielcode:

vocabulary_size = 50000 
embedding_size = 128 

# Assume your word to index map 
word_to_idx = { ... } 
# Assume your embeddings variable 
embeddings = tf.Variable(tf.random_uniform([vocabulary_size, embedding_size],0,1)) 

with tf.Session() as sess: 
    embeddings_val = sess.run(embeddings) 
    with open('embeddings.txt', 'w') as file_: 
    for i in range(vocabulary_size): 
     embed = embeddings_val[i, :] 
     word = word_to_idx[i] 
     file_.write('%s %s\n' % (word, ' '.join(map(str, embed)))) 
Verwandte Themen