ermongroup / HyperSPN

PyTorch implementation for "HyperSPNs: Compact and Expressive Probabilistic Circuits", NeurIPS 2021

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HyperSPN

This repository contains code for the paper:

HyperSPNs: Compact and Expressive Probabilistic Circuits

"HyperSPNs: Compact and Expressive Probabilistic Circuits"
Andy Shih, Dorsa Sadigh, Stefano Ermon
In Proceedings of the 35th Conference on Neural Information Processing Systems (NeurIPS), 2021

@inproceedings{ShihSEneurips21,
  author    = {Andy Shih and Dorsa Sadigh and Stefano Ermon},
  title     = {HyperSPNs: Compact and Expressive Probabilistic Circuits},
  booktitle = {Advances in Neural Information Processing Systems 34 (NeurIPS)},
  month     = {december},
  year      = {2021},
  keywords  = {conference}
}

Installation

conda env create -f environment.yml

Optionally, for EinsumNetworks:

cd EinsumNetworks
pip3 install -r requirements.txt

Datasets and Repos

The Twenty Datasets benchmark is from here.

The Amazon Baby Registries benchmark is from here. The dataset was converted from the set format into the binary format.

The Einsum Network repository is from here.

Commands

Experiments can be launched with the helper bash files

runid=0
bash bashfiles/run_hyperspn.bash ${runid} 5
bash bashfiles/run_hyperspn.bash ${runid} 10
bash bashfiles/run_hyperspn.bash ${runid} 20

bash bashfiles/run_spn.bash ${runid} 1e-3
bash bashfiles/run_spn.bash ${runid} 1e-4
bash bashfiles/run_spn.bash ${runid} 1e-5
cd EinsumNetworks/src/
python train_svhn_mixture.py --run=0
python train_svhn_mixture.py --nn --run=0

About

PyTorch implementation for "HyperSPNs: Compact and Expressive Probabilistic Circuits", NeurIPS 2021


Languages

Language:Python 98.8%Language:Shell 1.2%