Skip to content

jjcmoon/DeepSoftLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepSoftLog

[paper] [video] [slides]

DeepSoftLog is a neuro-symbolic framework which adds embeddings and neural networks to probabilistic logic programming using soft-unification.

Install

DeepSoftLog was developed for Python 3.10.11. To install run:

pip install cython==0.29.36
python setup.py build_ext --inplace
pip install -r requirements.txt

DeepSoftLog has only been tested on MacOS and Linux. The exact inference requires PySDD, which does not support Windows.

Experiments

All experiments can be found in src/experiments. The hyperparameters for each experiment can be found in their respective config.yaml files. To run an experiment, use the following command:

python run_experiments.py <experiment_name> <config_path>

For example, to run the MNIST addition experiment:

python run_experiments.py mnist_addition deepsoftlog/experiments/mnist_addition/config.yaml

By default, training metrics and results are logged to wandb.

Paper

If you use DeepSoftLog in your work, consider citing our paper:

@inproceedings{maene2023softunification,
  title={Soft-Unification in Deep Probabilistic Logic},
  author={Maene, Jaron and De Raedt, Luc},
  booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
  year={2023}
}

About

Soft-Unification in Deep Probabilistic Logic (NeurIPS 2023)

Resources

License

Stars

Watchers

Forks