【问题标题】:Is there any way to make Node2Vec faster?有什么方法可以让 Node2Vec 更快?
【发布时间】:2020-06-02 04:43:02
【问题描述】:

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

【问题讨论】:

    标签: graph parallel-processing embedding


    【解决方案1】:

    我找到了一个库 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

    【讨论】:

      【解决方案2】:

      我已经尝试https://github.com/eliorc/node2vec 使用“temp_folder”属性。以为我不觉得它快得多,所以我最终选择了带有 CSR 矩阵的版本。 哦……是你自己,谁回答了这个问题? :) 很高兴知道,谢谢你的提示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-05
        • 2011-09-25
        相关资源
        最近更新 更多