Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

didriknielsen/pixelcnn_flow

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixelCNN as a Single-Layer Flow

Official code for Closing the Dequantization Gap: PixelCNN as a Single-Layer Flow by Didrik Nielsen, Ole Winther (2020).

Code will soon be updated to include new experiments!

Dependencies

To run the code, we used python 3.6.8 with the following packages installed:

  • pytorch==1.2.0
  • torchvision==0.4.0
  • numpy==1.16.4
  • ptable==0.9.2

Setup

The code used for experiments have been collected in the python package pixelflow. Thus, we begin by installing this package.

In the folder containing setup.py, run

pip install --user -e .

The --user option ensures the library will only be installed for your user.
The -e option makes it possible to modify the library, and modifications will be loaded on the fly.

You should now be able to use it.

Usage

The code for training models can be found in experiments/train, while the code for evaluation can be found in experiments/eval.

Training

The code for training models can be found in experiments/train.
The .py files contain the experiment code and the .sh files contain the commands that were run:

PixelCNN interpolation experiments:

sh interpolations.sh 0

Dequantization gap experiments:

sh dequant_gap.sh 0

Multilayer PixelCNN experiments:

sh multilayer.sh 0

Evaluation

The code for evaluating test performance can be found in experiments/eval/bpd, while the code for performing interpolations can be found in experiments/eval/interpolations.
The commands used to evaluate models can be found in the .sh files (Note that the MODEL_PATH variable need to be set to the path of the pretrained models):

PixelCNN interpolation experiments:

sh interp_pixelcnn.sh 0
sh interp_pixelcnn_pp.sh 0

Dequantization gap experiments:

sh dequant_gap_pixelcnn.sh 0
sh dequant_gap_pixelcnn_quad.sh 0
sh dequant_gap_pixelcnn_pp.sh 0

Multilayer PixelCNN experiments:

sh multilayer.sh 0

Acknowledgements

Parts of the code build on:

Thanks to the authors of these repositories!

About

Code for paper "Closing the Dequantization Gap: PixelCNN as a Single-Layer Flow"

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.