Masked Autoregressive Flow for Density Estimation
Code for reproducing the experiments in the paper:
G. Papamakarios, T. Pavlakou, and I. Murray. Masked Autoregressive Flow for Density Estimation. Advances in Neural Information Processing Systems Conference. 2017. [pdf] [bibtex]
How to run the code
To run all experiments for a particular dataset, run:
python run_experiments.py <dataset>
This will train and save all models associated with that dataset.
To evaluate all trained models and collect the results in a text file, run:
python collect_results.py <dataset>
In the above commands, <dataset>
can be any of the following:
power
gas
hepmass
miniboone
bsds300
mnist
cifar10
You can use the commands with more than one datasets as arguments separated by a space, for example:
python run_experiments.py mnist cifar10
python collect_results.py mnist cifar10
How to get the datasets
- Downdload the datasets from: https://zenodo.org/record/1161203#.Wmtf_XVl8eN
- Unpack the downloaded file, and place it in the same folder as the code.
- Make sure the code reads from the location the datasets are saved at.
- Run the code as described above.
All datasets used in the experiments are preprocessed versions of public datasets. None of them belongs to us. The original datasets are:
-
POWER:
http://archive.ics.uci.edu/ml/datasets/Individual+household+electric+power+consumption -
GAS
http://archive.ics.uci.edu/ml/datasets/Gas+sensor+array+under+dynamic+gas+mixtures -
MINIBOONE
http://archive.ics.uci.edu/ml/datasets/MiniBooNE+particle+identification -
BSDS300
https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/