Есть ли способ сделать Node2Ve c быстрее? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть график с 480k узлами и 34M ребрами. Я хочу создать вложения узла, используя Node2Ve c на этом графике. Но он даже не может рассчитать вероятности перехода. Я использую Google Cloud Machine с 32 ядрами и 120 ГБ оперативной памяти. Инфраструктура не является проблемой, проблема в том, что функция _precompute_probabilities в библиотеке pip node2ve c не является параллельной. Он использует только один поток для вычисления вероятностей перехода. Есть ли способ сделать эту параллель или это любая другая параллельная версия Node2Ve c?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Я пробовал https://github.com/eliorc/node2vec со свойством "temp_folder". Думаю, я не чувствовал, что это было намного быстрее, поэтому я получил версию с матрицами CSR. Ох ... это был ты сам, кто ответил на вопрос? :) Полезно знать, спасибо за совет

0 голосов
/ 19 февраля 2020

Я нашел библиотеку Graph2Ve c, она использует матрицу CSR для генерации прогулок, а не для перехода от узла к узлу в памяти. Это намного быстрее, чем Node2Ve c.

Ссылка: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...