Open cthoyt opened 3 years ago
Thanks.
I can make a patch that checks the gensim version for now and routes the argument depending on the version.
Long term the idea would be to remove the gensim dependency entirely. It's a heavy dependency that's a moving target and only used for this one part of Node2Vec.
It has a lot of overhead for Node2Vec. For one, we need to map nodenames back from random walks to a format gensim accepts.
We could just train a word2vec model directly on the nodeIDs (ints, so would be faster) and re-map the embedding dictionary keys from nodeID -> node name only once after everything is trained.
This could be achieved either by stripping the node2vec C code and integrating it in CSRGraphs or by using another C/C++ implementation, like this one:
https://github.com/xgfs/node2vec-c
(which works on CSR representation already, not too far from csrgraphs) or this one:
https://github.com/snap-stanford/snap/tree/master/examples/node2vec
and integrating it into CSRGraphs.
Following bash command worked for me:
pip3 install -I gensim==3.8.0
Following bash command worked for me:
pip3 install -I gensim==3.8.0
That did not solve my problem. It is still there
It appears one of the argument names has changed in the newly released version of GenSim. This has also caused some pain in other libraries using this package for node2vec implementations (e.g., https://github.com/krishnanlab/PecanPy/issues/16)