This repository contains the reference implementation of the paper HYGENE: A Diffusion-based Hypergraph Generation Method. Our work is based on Efficient and Scalable Graph Generation through Iterative Local Expansion, many thanks for their great code!
To get started, follow these steps:
-
Clone this repository
-
Create the specified conda environment named
hypergraph-generation
by running the following command:conda env create -f environment.yaml
Note that the
graph-tool
library is not available on Windows. This library is used for SBM graph evaluation, which will consequently not work on Windows. Everything else should work regardless of the operating system.
The main entry point is main.py
with parameters managed by the Hydra framework.
To reproduce the results from the paper, run:
python main.py +experiment=XXX
where XXX
is one of the following experiments:
hypergraphErdosRenyi
, hypergraphSBM
, hypergraphEgo
, hypergraphTree
, meshBookshelf
, meshPlant
, meshPiano
New experiments can be added by adding a pickle file in data/
and creating a new config file in config/experiment/
or passing the parameters directly through the command line. Please refer to the Hydra documentation for more information.
When training.save_checkpoint
in the configuration is set to True
, checkpoints are saved. To resume training from a checkpoint, set training.resume
to the step number of the checkpoint, or to True
to resume from the latest checkpoint.
To log the results to Wandb, set wandb.logging
to True
in the configuration.
When using this code, please cite our paper:
@misc{gailhard2024hygenediffusionbasedhypergraphgeneration,
title = {HYGENE: A Diffusion-based Hypergraph Generation Method},
author = {Gailhard, Dorian and Tartaglione, Enzo and Naviner, Lirida and Giraldo, Jhony H.},
year = {2024},
eprint = {2408.16457},
archiveprefix = {arXiv},
primaryclass = {cs.LG},
url = {https://arxiv.org/abs/2408.16457},
}