在深度学习4j中导入gensim doc2vec模型



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

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

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

如果使用在Java中导入

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

是否有类似的方法导入doc2vec模型?

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

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

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

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

(如果DL4J中的toJson()fromJson()方法使用完整的模型表示法(文档中不清楚这一点,而且对于大部分模型状态来说,这将是一种极其臃肿的格式(,那么模型转换可能会更容易一些,因为它将为一些新的Python代码需要编写的内容提供一个简单的模板。(

最新更新