This repo contains the artifacts for the CMPUT-622 course project. Baseline code forked and adopted from Locally Private Graph Neural Networks. The implementation for DeepWalk is adopted from original paper author. Finally, for node2vec, we use the node2vec Python package and adopt for our usage.
{saqib1, emireddy, jdsteven}@ualberta.ca
The /all_results directory contains all the results (.csv) files for different similarity methods. graphs-gen.py can be used to generate plots from those files. All the graphs included in the report are stored in /graphs directory.
similarity_methods.py contains all the similarity methods implementations. models.py invokes it to get the similarity matrix and perform aggregation steps.
cora_job_array.sh at root contains script for running the jobs on CPU in Compute Canada while cc_scripts/cora_job_array.sh contains the script for running jobs on GPU in Compute Canada. The flag -n in the script can be changed to specify the dataset, i.e., lastfm, cora. To change the similarity method, Line 28 needs to be changed in modesl.py to use the desired similarity methods, i.e., node2vec, deepwalk, grarep.
Depending on the similarity method, datset, and hardware being used (GPU/CPU), the job completion time may vary.