首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DL4J在GoogleNews向量文件上非常慢

DL4J在GoogleNews向量文件上非常慢
EN

Stack Overflow用户
提问于 2015-08-29 21:27:51
回答 2查看 1.3K关注 0票数 8

我尝试在DL4J (加载预先训练的向量文件)上执行以下示例:

代码语言:javascript
复制
File gModel = new File("./GoogleNews-vectors-negative300.bin.gz");

Word2Vec vec = WordVectorSerializer.loadGoogleModel(gModel, true);

InputStreamReader r = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(r);

for (; ; ) {
    System.out.print("Word: ");
    String word = br.readLine();

    if ("EXIT".equals(word)) break;

    Collection<String> lst = vec.wordsNearest(word, 20);

    System.out.println(word + " -> " + lst);
}

但是它是超慢的(用10分钟来计算最接近的单词,尽管它们是正确的)。

内存充足(-Xms20g -Xmx20g)。

当我从Word2Vec运行相同的https://code.google.com/p/word2vec/示例时

它很快就给出了最接近的单词。

DL4J使用ND4J,它声称速度是Numpy:http://nd4j.org/benchmarking的两倍

我的密码有什么问题吗?

更新:它基于https://github.com/deeplearning4j/dl4j-0.4-examples.git (我没有接触任何依赖项,只是试着读取Google预训练过的向量文件)。Word2VecRawTextExample工作得很好(但数据大小相对较小)。

EN

回答 2

Stack Overflow用户

发布于 2017-11-21 12:01:00

为了提高业绩,我建议你做以下工作:

  1. 将环境变量OMP_NUM_THREADS设置为您的逻辑核心的数目
  2. 如果使用Intel处理器,请安装Intel数学内核库
  3. 在您的路径中添加来自英特尔数学内核库的mkl_intel_thread.dll所在的信息
票数 0
EN

Stack Overflow用户

发布于 2019-11-22 03:42:22

这篇文章确实很旧,但现在它应该有了很大的改进。我已经在生产中使用了以下设置@ JVM级别运行了带有Word2vec的Word2vec模型,并且它可以在一个t2上运行,并带有8GRAM和更高的内存。

java -Xmx2G -Dorg.bytedeco.javacpp.maxbytes=6G -Dorg.bytedeco.javacpp.maxphysicalbytes=6G

另外,我还没有使用wordsNearest()方法,因为它附带了预先计算语料库嵌入的限制,而不是编写自己的余弦相似度,后者执行亚毫秒响应。

那篇博文在这里

https://medium.com/sumvit/building-text-similarity-system-from-ground-up-using-word2vec-and-deeplearning4j-dece9ae4e433

如果您想知道如何构建最近的单词或任何其他应用程序,如文本相似性(相同的基本原则)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32290819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档