我正在使用Tensorflow教程中的word2vec模型进行训练。
训练完成后,我得到了嵌入矩阵。我希望保存这个矩阵,并将其作为训练好的模型导入到gensim中。
要在gensim中加载模型,命令是:
model = Word2Vec.load_word2vec_format(fn, binary=True)
但是,我该如何从Tensorflow生成fn
文件呢?
谢谢
回答:
一种方法是将文件保存为非二进制Word2Vec格式,其大致如下所示:
num_words vector_size # 这是头部信息label0 x00 x01 ... x0Nlabel1 x10 x11 ... x1N...
示例:
2 3word0 -0.000737 -0.002106 0.001851word1 -0.000878 -0.002106 0.002834
保存文件后,使用binary=False
参数加载:
model = Word2Vec.load_word2vec_format(filename, binary=False)print(model['word0'])
更新
加载模型的新方法是:
from gensim.models.keyedvectors import KeyedVectorsmodel = KeyedVectors.load_word2vec_format(model_path, binary=False)