2017-12-18 10 views
1

私はtensorflowでword2vecモデルを訓練しました。しかし、セッションを保存するときには、model.ckpt.data/.index/.meta個のファイルしか出力されませんでした。後でkNN出力を使うためにテンソルフローのword2vecをテキスト/バイナリファイルに保存するには?

私は、最も近い単語を検索する際に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)))) 
関連する問題