All Projects → openai → Pixel Cnn

openai / Pixel Cnn

Licence: other
Code for the paper "PixelCNN++: A PixelCNN Implementation with Discretized Logistic Mixture Likelihood and Other Modifications"

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Pixel Cnn

Bedwarsrel
Bedwars Reloaded - The Minecraft Bedwars Plugin!
Stars: ✭ 108 (-93.91%)
Mutual labels:  paper
Betonquest
An advanced and powerful quest scripting plugin for Minecraft. Features built-in RPG style conversations and integration for over 25 other plugins.
Stars: ✭ 121 (-93.18%)
Mutual labels:  paper
Timings
Source to the Aikar's Minecraft Timings Viewer
Stars: ✭ 132 (-92.56%)
Mutual labels:  paper
Singleviewreconstruction
Official Code: 3D Scene Reconstruction from a Single Viewport
Stars: ✭ 110 (-93.8%)
Mutual labels:  paper
Commandapi
An API for the command UI introduced in Minecraft 1.13
Stars: ✭ 116 (-93.46%)
Mutual labels:  paper
Catserver
Spiritual inheritance of mcpc+/thermos/Cauldron, full support spigot/sponge/forge/bukkit/paper API
Stars: ✭ 127 (-92.84%)
Mutual labels:  paper
Kiss
Code for the paper "KISS: Keeping it Simple for Scene Text Recognition"
Stars: ✭ 108 (-93.91%)
Mutual labels:  paper
Wavegrad
A fast, high-quality neural vocoder.
Stars: ✭ 138 (-92.22%)
Mutual labels:  paper
Phd
A list of resources on how/why to do a PhD
Stars: ✭ 120 (-93.24%)
Mutual labels:  paper
Yolo Powered robot vision
Stars: ✭ 133 (-92.5%)
Mutual labels:  paper
Nlp Papers
Papers and Book to look at when starting NLP 📚
Stars: ✭ 111 (-93.74%)
Mutual labels:  paper
Deep K Means Pytorch
[ICML 2018] "Deep k-Means: Re-Training and Parameter Sharing with Harder Cluster Assignments for Compressing Deep Convolutions"
Stars: ✭ 115 (-93.52%)
Mutual labels:  paper
3pu
Patch-base progressive 3D Point Set Upsampling
Stars: ✭ 131 (-92.62%)
Mutual labels:  paper
Papers Notebook
📄 🇨🇳 📃 论文阅读笔记(分布式系统、虚拟化、机器学习)Papers Notebook (Distributed System, Virtualization, Machine Learning), created by @gaocegege
Stars: ✭ 1,678 (-5.41%)
Mutual labels:  paper
Paper
Lightning Network Paper
Stars: ✭ 136 (-92.33%)
Mutual labels:  paper
Paperlib
Plugin Library for interfacing with Paper Specific API's with graceful fallback that maintains Spigot Compatibility, such as Async Chunk Loading.
Stars: ✭ 108 (-93.91%)
Mutual labels:  paper
Finetune Transformer Lm
Code and model for the paper "Improving Language Understanding by Generative Pre-Training"
Stars: ✭ 1,605 (-9.53%)
Mutual labels:  paper
E2e Model Learning
Task-based end-to-end model learning in stochastic optimization
Stars: ✭ 140 (-92.11%)
Mutual labels:  paper
Diffwave
DiffWave is a fast, high-quality neural vocoder and waveform synthesizer.
Stars: ✭ 139 (-92.16%)
Mutual labels:  paper
Top 10 Computer Vision Papers 2020
A list of the top 10 computer vision papers in 2020 with video demos, articles, code and paper reference.
Stars: ✭ 132 (-92.56%)
Mutual labels:  paper

Status: Archive (code is provided as-is, no updates expected)

pixel-cnn++

This is a Python3 / Tensorflow implementation of PixelCNN++, as described in the following paper:

PixelCNN++: A PixelCNN Implementation with Discretized Logistic Mixture Likelihood and Other Modifications, by Tim Salimans, Andrej Karpathy, Xi Chen, Diederik P. Kingma, and Yaroslav Bulatov.

Our work builds on PixelCNNs that were originally proposed in van der Oord et al. in June 2016. PixelCNNs are a class of powerful generative models with tractable likelihood that are also easy to sample from. The core convolutional neural network computes a probability distribution over a value of one pixel conditioned on the values of pixels to the left and above it. Below are example samples from a model trained on CIFAR-10 that achieves 2.92 bits per dimension (compared to 3.03 of the PixelCNN in van der Oord et al.):

Samples from the model (left) and samples from a model that is conditioned on the CIFAR-10 class labels (right):

Improved PixelCNN papers

This code supports multi-GPU training of our improved PixelCNN on CIFAR-10 and Small ImageNet, but is easy to adapt for additional datasets. Training on a machine with 8 Maxwell TITAN X GPUs achieves 3.0 bits per dimension in about 10 hours and it takes approximately 5 days to converge to 2.92.

Setup

To run this code you need the following:

  • a machine with multiple GPUs
  • Python3
  • Numpy, TensorFlow and imageio packages:
pip install numpy tensorflow-gpu imageio

Training the model

Use the train.py script to train the model. To train the default model on CIFAR-10 simply use:

python3 train.py

You might want to at least change the --data_dir and --save_dir which point to paths on your system to download the data to (if not available), and where to save the checkpoints.

I want to train on fewer GPUs. To train on fewer GPUs we recommend using CUDA_VISIBLE_DEVICES to narrow the visibility of GPUs to only a few and then run the script. Don't forget to modulate the flag --nr_gpu accordingly.

I want to train on my own dataset. Have a look at the DataLoader classes in the data/ folder. You have to write an analogous data iterator object for your own dataset and the code should work well from there.

Pretrained model checkpoint

You can download our pretrained (TensorFlow) model that achieves 2.92 bpd on CIFAR-10 here (656MB).

Citation

If you find this code useful please cite us in your work:

@inproceedings{Salimans2017PixeCNN,
  title={PixelCNN++: A PixelCNN Implementation with Discretized Logistic Mixture Likelihood and Other Modifications},
  author={Tim Salimans and Andrej Karpathy and Xi Chen and Diederik P. Kingma},
  booktitle={ICLR},
  year={2017}
}

pixel-cnn-rotations

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].