python - 在 Tensorflow 中训练 wordvec,导入到 Gensim

标签 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 文件?

谢谢

最佳答案

一种方法是将文件保存为非二进制 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)

关于python - 在 Tensorflow 中训练 wordvec,导入到 Gensim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186543/

相关文章:

python - 有没有更有效的方法来枚举 python 或 R 中离散随机变量的每个可能结果的概率?

python - 尝试更改外部函数中的类变量时出现 NameError

python - 如何让文本对象与 sklearn 分类器管道一起工作?

machine-learning - 文档聚类的对数似然相似度

python - sklearn.lda.LDA() 和 sklearn.discriminant_analysis.LinearDiscriminantAnalysis() 之间的区别

python - Tensorflow 中的默认变量初始值设定项是什么?

python - 如何在 CNN 中绘制 epoch 与 val_acc 和 epoch 与 val_loss 图?

带有输出类名的python计时器装饰器

python - fmin_l_bfgs_b 输出的最小值处的梯度不为零

python - 单 GPU 上的 Tensorflow 2.0 训练模型