Indian Buffet Process VAEs
This repository contains the code for the paper "Structured Variational Autoencoders for the Beta-Bernoulli Process", by Jeffrey Ling, Rachit Singh, and Finale Doshi-Velez. The paper is itself forthcoming on the ArXiv, but a workshop version is available at the AABI NIPS workshop page.
This codebase is somewhat incomplete, missing some code that we haven't had time to clean up. We're working on putting all of the code up as soon as possible, and will do so over the next few weeks. Please let us know if you run into problems by making an issue.
To run the code with GPU support, navigate to
src/lgamma and do
Navigate to base directory and run
python scripts/run_s_ibp_concrete.py --savefile testsave
--savefile is a required argument. Models will be saved under
models/ (last, and best over epochs) and train, valid, test curves and timings are saved under
--help to see arguments.
Note about compilation
We're working on incorporating all of the required CUDA functionality in PyTorch master, but until then the compilation process is likely a little tricky. For example, you'll almost definitely need to change
make.sh to your card's compute capability and the
CUDA_PATH must be customized. Finally, one likely change you'll need to make is to fix
build.py to have the correct
include_dirs. Please feel free to send me an email if you have trouble compiling - I'm happy to help.