有没有办法让 Node2Vec 更快?

Har*_*pta 5 parallel-processing graph embedding

我有一个包含 480k 个节点和 34M 条边的图。我想在此图上使用 Node2Vec 创建节点嵌入。但是,它甚至无法计算转移概率。我使用的是具有 32 个内核和 120 GB RAM 的 Google Cloud Machine。基础设施不是问题,问题是node2vec pip库中的函数_precompute_probabilities不是并行的。它仅使用单个线程来计算转移概率。有没有办法实现并行,或者它们是 Node2Vec 的任何其他并行版本吗?

Har*_*pta 2

我找到了一个库 Graph2Vec,它使用 CSR 矩阵来生成游走,而不是在内存中从一个节点跳转到另一个节点。它比 Node2Vec 快得多。

链接:https://www.singlelunch.com/2019/08/01/700x-faster-node2vec-models-fastest-random-walks-on-a-graph/

Github: https: //github.com/VHRanger/graph2vec

另外,您可以参考此问题并尝试提到的库: https://github.com/aditya-grover/node2vec/issues/10