2017-12-18 22 views
1

나는 tensorflow에서 word2vec 모델을 훈련 시켰습니다. 그러나 세션을 저장하면 model.ckpt.data/.index/.meta 개의 파일 만 출력됩니다.추후 kNN 출력을 위해 tensorflow의 word2vec를 text/binary 파일로 저장하는 방법은 무엇입니까?

가장 가까운 단어를 검색 할 때 KNN 방법을 구현할 생각이었습니다. 나는 gensim을 사용하는 것에 대한 해답을 보았지만, 어떻게 텐 플러 플로우 word2vec 모델을 .txt에 먼저 저장할 수 있습니까?

답변

0

매시간 배열을 numpy 배열로 평가하고 해결 된 단어와 함께 파일에 기록하기 만하면됩니다. 샘플 코드 :

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))))