SalamanderXing / discrete-graph-diffusion

A discrete diffusion model that works on graphs and optimized for ELBO computation.

Repository from Github https://github.comSalamanderXing/discrete-graph-diffusionRepository from Github https://github.comSalamanderXing/discrete-graph-diffusion

Discrete Graph Diffusion

DDGD, discrete graph diffusion is a diffusion model that is able to generate graphs and uses a discrete categorical distribution instead of a gaussian to add noise to the graph. While this project was tested for graph generation, its primary focus is to get a good value for the Evidence Lower BOund (ELBO). A good (low) ELBO value value roughly indicatest that the model has modeled well the underlying graph distribution.

$$-\text{log}(p(\mathbf{x})) \leq \text{ELBO}(\mathbf{x})$$

This model was tested on the QM9 dataset.

Install Mate

Somewhere on your machine:

git clone https://github.com/salamanderxing/mate
cd mate
pip install -e .

Running the code

Navigate into the graph_diffusion directory and run mate summary. If everything worked well you should see a nice representation of the project.

Then you can run mate run ddd_tr_QM9 train to run the main experiment.


builtwithmate

About

A discrete diffusion model that works on graphs and optimized for ELBO computation.


Languages

Language:Python 99.9%Language:PowerShell 0.1%Language:Shell 0.0%