gpt4 book ai didi

machine-learning - DL4J 在 GoogleNews-vectors 文件上速度 super 慢

转载 作者:行者123 更新时间:2023-11-30 08:25:00 25 4
gpt4 key购买 nike

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

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)。

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

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

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

我的代码有什么问题吗?

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

最佳答案

为了提高性能,我建议您执行以下操作:

  1. 将环境变量 OMP_NUM_THREADS 设置为等于逻辑核心的数量

  2. 如果您使用英特尔处理器,请安装英特尔数学核心函数库

  3. 在您的路径中添加来自英特尔数学内核库的 mkl_intel_thread.dll 所在位置的信息

关于machine-learning - DL4J 在 GoogleNews-vectors 文件上速度 super 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com