Skip to content

kiarashza/GraphVAE-MM

Repository files navigation

GraphVAE-MM

This is the original implementation of Micro and Macro Level Graph Modeling for Graph Variational Auto-Encoders.

Code Overview

main.py includes the training pipeline and also micro-macro objective functions implementation. Source codes for loading real graph datasets and generating synthetic graphs are included in data.py. All the Python packages used in our experiments are provided in requirements.yml. Generated graph samples for each of the datasets are provided in the "ReportedResult/" directory,both in the pickle and png format. This directory also includes the log files and hyperparameters details used to train the GraphVAE-MM on each of the datasets.

GraphVAE

The argument "-model", line 48 of main.py, determines which model is running, either "GraphVAE" or "GraphVAE-MM".

Comparing Generated Triangle Grid Graphs by GraphVAE-MM and GraphVAE

The first and second column shows generated graphs by GraphVAE-MM and GraphVAE. Samples are selected randomly. The generated samples for each of the datasets are provided at ReportedResult/.

GraphVAE-MM GraphVAE

Model Convergence

The figures below show the convergence of GraphVAE-MM for each term in the objective function, the local and global graph properties loss and KL penalty. For brevity, only ogbg-molbbbp dataset is illustrated. These plots are generated automatically after each "Vis_step" iteration, Vis_step is an input argument. Here kernel1 to kernel 5 corresponds to 1 to 5 Step transition probability kernels and loss is the sum of the terms.

This is ogb graph train loss convergence

Cite

Please cite our paper if you use this code in your research work.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages