Fast implementation of node2vec
Project description
fastnode2vec
Really fast implementation of node2vec based on numba and gensim.
API
Node2Vec
inherits from gensim's Word2Vec
, all its APi is valid.
from fastnode2vec import Graph, Node2Vec
graph = Graph([("a", "b"), ("b", "c"), ("c", "a"), ("a", "d")],
directed=False, weighted=False)
# or
graph = Graph([("a", "b", 1), ("b", "c", 2), ("c", "a", 3), ("a", "d", 4)],
directed=False, weighted=True)
n2v = Node2Vec(graph, dim=10, walk_length=100, context=10, p=2.0, q=0.5, workers=2)
n2v.train(epochs=100)
print(n2v.wv["a"])
CLI
Usage: fastnode2vec [OPTIONS] FILENAME
Options:
--directed
--dim INTEGER [required]
--p FLOAT
--q FLOAT
--walk-length INTEGER [required]
--context INTEGER
--epochs INTEGER [required]
--workers INTEGER
--batch-walks INTEGER
--debug PATH
--output PATH
--help Show this message and exit.
Compute embeddings of the Gnutella peer-to-peer network:
wget https://snap.stanford.edu/data/p2p-Gnutella08.txt.gz
fastnode2vec p2p-Gnutella08.txt.gz --dim 16 --walk-length 100 --epochs 10 --workers 2
Load embeddings produced by the CLI
Just use the Word2Vec
API.
from gensim.models import KeyedVectors
wv = KeyedVectors.load("p2p-Gnutella08.txt.gz.wv", mmap='r')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fastnode2vec-0.0.3.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for fastnode2vec-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f653f7abd2f8b1964b7fc050210b846a7d8731fdcba9936bfc8da3a415ad7539 |
|
MD5 | 87a9fab6e97186c9cd6f148dc0acd0ec |
|
BLAKE2b-256 | 658436c100e15e60b669f026e2c9de7fe04f97e070b12d6e67bacd1d2fb03a35 |