taimir / pixel-rnn-lasagne

PixelRNN implementation in lasagne

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PixelRNN

A lasagne implementation of the MD-RNN proposed in the paper "Pixel Recurrent Neural Networks" by Aäron van den Oord, Nal Kalchbrenner and Koray Kavukcuoglu

Overview

This repository features:

  • Bi-Diag-LSTM
  • Masked convolutions (also color channel masking)
  • !! Proper shift down by 1 row of the right Diag-LSTM
  • Residual connections
  • Networks weights for MNIST
  • 256-way softmax and sigmoid output layers
  • Dynamic generation of MNIST images in an updating matplotlib window

TODO:

  • ConvCNN
  • Pyramid-RNN (Row-RNN)
  • Train on CIFAR-10

The PixelRNN implementation can converge to a decent solution in a few epochs of training on MNIST.

Dependencies

Compatible with Python >= 3.3.

System dependencies:

sudo apt-get install graphviz

Python dependencies:

pip install -r requirements.txt

Examples

Images sampled (generated) from the Bi-Diag-LSTM:

Generated

Original images (left) and the same images with their lower half completed by the Bi-Diag-LSTM (right):

Original Completed

Three steps of the dynamic pixel-by-pixel generation of an image:

Part1

Part2

Part3

About

PixelRNN implementation in lasagne

License:MIT License


Languages

Language:Python 100.0%