将训练有素的gensim word2vec模型另存为张量流SavedModel

时间:2020-05-05 20:20:44

标签: tensorflow gensim word2vec

我们是否可以选择使用tf 2.0 tf.saved_model.save将经过训练的Gensim Word2Vec模型另存为已保存的模型?换句话说,我该如何将经过训练的嵌入向量另存为已保存的模型签名以与Tensorflow 2.0一起使用。以下步骤通常是不正确的:

model = gensim.models.Word2Vec(...)

model.init_sims(..)

model.train(..)

model.save(..)

module = gensim.models.KeyedVectors.load_word2vec(...)

tf.saved_model.save(
    module, 
    export_dir
)

编辑:

此示例为我提供了有关方法的帮助:https://keras.io/examples/nlp/pretrained_word_embeddings/

1 个答案:

答案 0 :(得分:0)

Gensim不使用TensorFlow,它具有its own methods来加载和保存模型。

您需要将Gensim嵌入转换为TensorFlow模型,仅当您进一步计划在TensorFlow中使用嵌入并可能针对任务进行微调时,该模型才有意义。

Gensim Word2Vec是TensorFlow中的两个步骤:

  1. Vocabulary lookup:一个为令牌分配索引的表。

  2. Embedding lookup layer,它可以获取索引的实际嵌入。

然后,您可以将其保存为任何其他TensorFlow模型。