Implementation of Real-NVP (https://arxiv.org/abs/1605.08803) in Tensorflow. This was modified to work with datasets being used in the Online Structure Learning for SPNs paper.
Started with code from PixelCNN++ by OpenAI (https://github.com/openai/pixel-cnn)
Sample usage:
- Install Python3.
- Create directories for downloading dataset and saving checkpoints.
- Seperate data into 10 .txt files and also create another file that keeps track of the mean and variance of each variable e.g. data/dataset_name/dataset_name.1.data
- Run train.py. '--nr_gpu', which denotes the number of GPUs to use, should be specified.
Sample usage:
$ CUDA_VISIBLE_DEVICES=1,2 python3 train.py --nr_gpu=2 --data_dir=download --save_dir=checkpoints --load_params=0 --save_interval=2
Sample image from the model trained on CIFAR10. The test NLL was 3.51.