【问题标题】:Importing a gensim doc2vec model in deeplearning4j在 deeplearning4j 中导入 gensim doc2vec 模型
【发布时间】:2021-03-09 04:16:49
【问题描述】:

我已经使用gensim 训练了一个doc2vec 模型,并希望将其导入Deeplearning4j 以部署该模型。

对于word2vec 模型,我知道这可以通过保存模型来实现

model.wv.save_word2vec_format("word2vec.bin", binary=True)

并在 Java 中导入 if

Word2Vec w2vModel = WordVectorSerializer.readWord2VecModel("word2vec.bin");

有没有类似的方法来导入doc2vec 模型?

【问题讨论】:

    标签: java gensim word2vec doc2vec deeplearning4j


    【解决方案1】:

    save_word2vec_format() 方法只保存词向量,而不是完整的模型。

    如果您要使用 Gensim 的 .save() 保存完整模型,它会使用 Python 的本机序列化 - 因此任何读取它的 Java 代码都必须在将相关属性重新排列到 DL4J 对象中之前理解该格式。

    我在 DL4J's ParagraphVectors class docs 的文档中没有看到任何内容表明它可以读取 Gensim 格式的模型,所以我怀疑是否有任何内置支持。

    理论上可以编写一些 Python 代码以将模型的所有相关子部分转储为可在 Java 中读取的形式,然后修补到 Dl4J 模型中,或者编写 Java 代码以理解 Python 序列化对象– 但这需要熟悉 Gensim 和 DL4J 源代码。

    (如果 DL4J 中的 toJson()fromJson() 方法与完整的模型表示一起工作——这在文档中并不清楚,并且对于大部分模型状态来说是一种非常臃肿的格式——这很可能使模型翻译更容易一些,因为它为一些新的 Python 代码需要写出的内容提供了一个简单的模板。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多