All Projects → anantzoid → Conditional Pixelcnn Decoder

anantzoid / Conditional Pixelcnn Decoder

Tensorflow implementation of Gated Conditional Pixel Convolutional Neural Network

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Conditional Pixelcnn Decoder

Nfnets Pytorch
NFNets and Adaptive Gradient Clipping for SGD implemented in PyTorch
Stars: ✭ 215 (-55.11%)
Mutual labels:  paper, deepmind
Dsp Theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Stars: ✭ 437 (-8.77%)
Mutual labels:  convolution
Vsepp
PyTorch Code for the paper "VSE++: Improving Visual-Semantic Embeddings with Hard Negatives"
Stars: ✭ 354 (-26.1%)
Mutual labels:  paper
Convnetsharp
Deep Learning in C#
Stars: ✭ 390 (-18.58%)
Mutual labels:  convolution
Imaging
Imaging is a simple image processing package for Go
Stars: ✭ 4,023 (+739.87%)
Mutual labels:  convolution
Knowledge Distillation Papers
knowledge distillation papers
Stars: ✭ 422 (-11.9%)
Mutual labels:  paper
Healthcare ml
A curated list of ML|NLP resources for healthcare.
Stars: ✭ 351 (-26.72%)
Mutual labels:  paper
Awsome Deep Learning For Video Analysis
Papers, code and datasets about deep learning and multi-modal learning for video analysis
Stars: ✭ 452 (-5.64%)
Mutual labels:  paper
Numpycnn
Building Convolutional Neural Networks From Scratch using NumPy
Stars: ✭ 436 (-8.98%)
Mutual labels:  convolution
Learning Deep Learning
Paper reading notes on Deep Learning and Machine Learning
Stars: ✭ 388 (-19%)
Mutual labels:  paper
Sota Py
A discrete-time Python-based solver for the Stochastic On-Time Arrival routing problem
Stars: ✭ 381 (-20.46%)
Mutual labels:  convolution
Slimefun4
Slimefun 4 - A unique Spigot/Paper plugin that looks and feels like a modpack. We've been giving you backpacks, jetpacks, reactors and much more since 2013.
Stars: ✭ 369 (-22.96%)
Mutual labels:  paper
Paper For Mac
🖥 Unofficial Dropbox Paper client for macOS
Stars: ✭ 427 (-10.86%)
Mutual labels:  paper
Optnet
OptNet: Differentiable Optimization as a Layer in Neural Networks
Stars: ✭ 361 (-24.63%)
Mutual labels:  paper
Cvpr2021 Papers With Code
CVPR 2021 论文和开源项目合集
Stars: ✭ 7,138 (+1390.19%)
Mutual labels:  paper
Benchmark results
Visual Tracking Paper List
Stars: ✭ 3,672 (+666.6%)
Mutual labels:  paper
Ipfs
Peer-to-peer hypermedia protocol
Stars: ✭ 20,128 (+4102.09%)
Mutual labels:  paper
Yatopia
The Most Powerful and Feature Rich Minecraft Server Software!
Stars: ✭ 408 (-14.82%)
Mutual labels:  paper
Iaf
Code for reproducing key results in the paper "Improving Variational Inference with Inverse Autoregressive Flow"
Stars: ✭ 468 (-2.3%)
Mutual labels:  paper
Jukebox
Code for the paper "Jukebox: A Generative Model for Music"
Stars: ✭ 4,863 (+915.24%)
Mutual labels:  paper

Image Generation with Gated PixelCNN Decoders

This is a Tensorflow implementation of Conditional Image Generation with PixelCNN Decoders which introduces the Gated PixelCNN model based on PixelCNN architecture originally mentioned in Pixel Recurrent Neural Networks. The model can be conditioned on latent representation of labels or images to generate images accordingly. Images can also be modelled unconditionally. It can also act as a powerful decoder and can replace deconvolution (transposed convolution) in Autoencoders and GANs. A detailed summary of the paper can be found here.

These are some conditioned samples generated by the authors of the paper:

Paper Sample

Architecture

This is the architecture for Gated PixelCNN used in the model:

Gated PCNN

The gating accounts for remembering the context and model more complex interactions, like in LSTM. The network stack on the left is the Vertical stack that takes care of blind spots that occure while convolution due to the masking layer (Refer the Pixel RNN paper to know more about masking). Use of residual connection significantly improves the model performance.

Usage

This implementation consists of the following models based on the Gated PixelCNN architecture:

  • Unconditional image generation:

    python main.py
    

    Sample generated by training MNIST dataset after 70 epochs with a cross-entropy loss of 0.104610:

    Unconditional image

  • Conditional image generation based on class labels:

    python main.py --model=conditional
    

    As mentioned in the paper, conditionally generated images are more visually appealing though the loss difference is almost same. It has a loss of 0.102719 after 40 epochs:

    Conditional image

  • Autoencoder with PixelCNN decoder:

    python main.py --model=autoencoder
    

    The encoder part of the autoencoder has the original architecture as mentioned in Stacked Convolutional Auto-Encoders for Hierarchical Feature Extraction. The representation is encoded into 10d tensor. The image generated after 10 epochs with a loss of 0.115306:

    AE image

To only generate images append the --epochs=0 flag after the command.

To train the any model on CIFAR-10 dataset, add the --data=cifar flag.

Refer main.py for other available flags for hyperparameter tuning.

Training Details

The system was trained on a single AWS p2.xlarge spot instance. The implementation was only done on MNIST dataset. Generation of samples based on CIFAR-10 images took the authors 32 GPUs trained for 60 hours.

To visualize the graph and loss during training, run:

tensorboard --logdir=logs

Loss minimization for the autoencoder model:

Loss

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].