Author: Talip Ucar (ucabtuc@gmail.com)
Paper: NESS: Node Embeddings from Static Subgraphs
Supports the following encoder types and their variational counterparts:
- GNAE, VGNAE
- GCN, VGCN
- GAT
- Linear, VariationalLinear
- ARGA, ARGVA
Following datasets are supported:
- cora
- citeseer
- pubmed
- texas
- wisconsin
- cornell
- charmeleon
Note: Config file for Cora is provided. For others, you can copy Cora config file and change its name to the dataset of interest.
It is tested with Python 3.9. You can set up the environment by following steps:
pip install pipenv # To install pipenv if you don't have it already
pipenv install --skip-lock # To install required packages.
pipenv shell # To activate virtual env
A yaml config file for each dataset (e.g., cora.yaml) must be saved under the "./config/" directory. The name of config file needs to match the name of the dataset.
You can train the model using any supported dataset.
python train.py -d cora
Results at the end of training is saved under "./results" directory. Results directory structure:
results | dataset name (e.g. cora) |-evaluation |-reconstructions (not used) |-clusters (not used) |-training |-model (where the models are saved) |-plots (where the plots are saved as png files) |-loss (where the summary of metrics is saved as csv file)
If you use this work in your own studies, and work, you can cite it by using the following:
@Misc{talip_ucar_2023_NESS,
author = {Talip Ucar},
title = {{Pytorch implementation of "NESS: Node Embeddings from Static Subgraphs"}},
howpublished = {\url{https://github.com/AstraZeneca/NESS}},
month = May,
year = {since 2023}
}