A group of generative models that combine fast and efficient tractable graph alignment methods with a family of deep generative models and are thus invariant to node permutations [paper].
- python 3.6.10
Install packages:
pip install -r requirements.txt
To create graphs:
python graph_creation.py --graph "graph-type"
To compute the center graph and graph alignment, depending on the graph alignment method use either G_Parallel_galign.py, G_Parallel_fermat.py, CG_Parallel_galign.py or CG_Parallel_fermat.py.
Example:
python G_Parallel_galign.py --center True --data "graph-name"
G-align-Single (VAE):
python parallel_single.py --model gae --data "graph-name"
G-align-Single (GraphRNN):
python main.py
G-align-Single (GRAN):
python run_exp.py -c config/dataset_info
G-align-Double and Fermat-Double (VAE):
python parallel_double.py --model gae --data "graph-name"
G-align-Double and Fermat-Double (GraphRNN):
python main_double.py
G-align-Double and Fermat-Double (GRAN):
python run_exp_double.py -c config/dataset_info
K. Shayestehfard, D. Brooks, S. Ioannidis, "AlignGraph: A Group of Generative Models for Graphs", SDM, 2023
This research was generously supported by the National Science Foundation (grants IIS-1741197, CCF-1750539) and Google via GCP credit support.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.