在Tensorflow中训练wordvec,导入Gensim

时间:2017-02-12 10:38:17

标签: python machine-learning tensorflow gensim

我正在从tensorflow教程中训练word2vec模型。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/word2vec/word2vec_basic.py

训练结束后,我得到了嵌入矩阵。我想保存它并将其作为gensim的训练模型导入。

要在gensim中加载模型,命令为:

model = Word2Vec.load_word2vec_format(fn, binary=True)

但是如何从Tensorflow生成fn文件?

由于

1 个答案:

答案 0 :(得分:2)

一种方法是将文件保存为非二进制Word2Vec格式,基本上如下所示:

num_words vector_size  # this is the header
label0 x00 x01 ... x0N
label1 x10 x11 ... x1N
...

示例:

2 3
word0 -0.000737 -0.002106 0.001851
word1 -0.000878 -0.002106 0.002834

保存文件,然后加载kwarg binary=False

model = Word2Vec.load_word2vec_format(filename, binary=False)

print(model['word0'])

更新

加载模型的新方法是:

from gensim.models.keyedvectors import KeyedVectors

model = KeyedVectors.load_word2vec_format(model_path, binary=False)