-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Benchmarks #22
Open
ewindels
wants to merge
12
commits into
master
Choose a base branch
from
benchmarks
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+83
−28
Open
[WIP] Benchmarks #22
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
8d94562
remove unnecessary ()
ewindels 5455f94
Merge branch 'master' into benchmarks
ewindels 1d403e8
Create as-733.tar.gz
ewindels e21f0cf
refactor makefile and add benchmarks
ewindels aa6a86f
Create build_graphs.py
ewindels 3831b36
add get_node2vec_embeddings
ewindels 62b14ee
fix build_as_733_graphs
ewindels a664a89
add get_node2vec_embeddings
ewindels fd6871b
fix test
ewindels 3748dd1
fix codestyle
ewindels 78552ec
Merge branch 'master' into benchmarks
ewindels a22b114
3.8 compatibility
ewindels File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
""" | ||
Build graphs from datasets. | ||
""" | ||
from __future__ import annotations | ||
|
||
import gzip | ||
|
||
import networkx as nx | ||
|
||
|
||
def build_as_733_graphs() -> list[nx.Graph]: | ||
""" | ||
Build the Autonomous systems AS-733 graphs. | ||
link: https://snap.stanford.edu/data/as-733.html | ||
""" | ||
graphs = [] | ||
graph = nx.Graph() | ||
with gzip.open("benchmarks/data/as-733.tar.gz", "rt") as stream: | ||
for line in stream: | ||
if "Autonomous systems" in line: | ||
if graph.nodes: | ||
graphs.append(graph) | ||
graph.clear() | ||
continue | ||
if line[0].isdigit(): | ||
edge = map(int, line.strip().split("\t")) | ||
graph.add_edge(*edge) | ||
graphs.append(graph) | ||
graphs.reverse() # Input is in reverse chronological order | ||
return graphs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
""" | ||
Build training and test sets from dynamic graphs. | ||
""" | ||
from __future__ import annotations | ||
|
||
import networkx as nx | ||
|
||
from dynnode2vec.dynnode2vec import DynNode2Vec, Embedding | ||
|
||
|
||
def get_node2vec_embeddings( | ||
graphs: list[nx.Graph], parameters: dict | ||
) -> list[Embedding]: | ||
""" | ||
Build plain node2vec embeddings at each time step. | ||
""" | ||
dynnode2vec_obj = DynNode2Vec(**parameters) | ||
embeddings = [] | ||
for graph in graphs: | ||
_, embedding = dynnode2vec_obj.get_node2vec_embeddings(graph) | ||
embeddings.extend(embedding) | ||
return embeddings |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To do so, you can also call the classic
DynNode2Vec.compute_embeddings
withplain_node2vec=True
(https://github.com/pedugnat/dynnode2vec/blob/master/dynnode2vec/dynnode2vec.py#L42). It should yield equivalent embeddings