Codebase for VAEL: Bridging Variational Autoencoders and Probabilistic Logic Programming published at NeurIPS 2022.
If you use this codebase, please cite:
@inproceedings{NEURIPS2022_1e38b2a0,
author = {Misino, Eleonora and Marra, Giuseppe and Sansone, Emanuele},
booktitle = {Advances in Neural Information Processing Systems},
editor = {S. Koyejo and S. Mohamed and A. Agarwal and D. Belgrave and K. Cho and A. Oh},
pages = {4667--4679},
publisher = {Curran Associates, Inc.},
title = {VAEL: Bridging Variational Autoencoders and Probabilistic Logic Programming},
url = {https://proceedings.neurips.cc/paper_files/paper/2022/file/1e38b2a0b77541b14a3315c99697b835-Paper-Conference.pdf},
volume = {35},
year = {2022}
}
- Python >=3.7
- Dependencies:
Note: if something goes wrong with PySDD, try
pip install -r requirements.txt
pip install -vvv --upgrade --force-reinstall --no-binary :all: --no-deps pysdd
-
Clone the repo
git clone https://github.com/EleMisi/VAEL.git
-
Install the dependencies
pip install -r requirements.txt
-
Set the experiment(s) configuration in file config.py
-
Run the experiment(s)
python run_VAEL.py
Use flag
--task mnist
to run 2digit MNIST experiment(s), and--task mario
to run Mario experiment(s).
The results are stored in the folder ./<exp_folder>/<exp_class>/ specified in run_VAEL.py.
In particular:
- the resulting metrics for each tested configuration are reported in exp_class.csv
- each subfolder refers to a specific configuration and contains
- the model checkpoint
- the learning curves
- some samples of image reconstruction and generation