假设我从这里下载一个经过训练的fasttext向量。
我可以用python加载模型,如下所示:
from gensim.models.keyedvectors import KeyedVectors
w2v_model_small = KeyedVectors.load_word2vec_format("/path/to/file/wiki.en.bin")
如何在java中实现这一点?我用的是 deeplearning4j
但正在努力加载文件。
这是我如何读取文件的代码。
import org.deeplearning4j.models.embeddings.loader.WordVectorSerializer;
import org.deeplearning4j.models.word2vec.Word2Vec;
String path = "path/to/file/wiki.en/wiki.en.bin";
InputStream pathInputStream = new FileInputStream(path);
Word2Vec vec = WordVectorSerializer.readBinaryModel(pathInputStream, false, false);
我得到以下错误。
java.lang.NoClassDefFoundError: org/bytedeco/javacpp/indexer/Indexer
at org.deeplearning4j.models.embeddings.loader.WordVectorSerializer.readBinaryModel(WordVectorSerializer.java:269)
at .(#821:1)
dl4j版本:1.0.0-beta7
---编辑---
我甚至还在为网上记录的方式而挣扎,比如这里。这不使用fasttext向量,而是使用googlenews向量。这是怎么回事?
InputStream word2vecmodelFile = new FileInputStream("path/to/file/GoogleNews-vectors-negative300.bin.gz");
WordVectorSerializer.readBinaryModel(word2vecmodelFile, false, false);
给出了错误:
java.lang.NoClassDefFoundError: org/bytedeco/javacpp/indexer/Indexer
at org.deeplearning4j.models.embeddings.loader.WordVectorSerializer.readBinaryModel(WordVectorSerializer.java:269)
at .(#867:1)
暂无答案!
目前还没有任何答案,快来回答吧!