Torch implementation of the pixel CNN architecture proposed in the paper Pixel Recurrent Neural Networks and other variants.
Will be back to update & commit after the final exam week at NUS :D.
So busy these days, I am unlikely to contribute to this repo recently. But I'm happy to accept new PR on TODOs!
luarocks install cudnn
luarocks install torchnet
luarocks install mnist
Note that only thetorch.cudnn
binding supports 4D CrossEntropyLoss,
or it will be horribly slowing down if you do the unroll on Lua level.
-
MNIST training script:
th train_mnist.lua -usegpu -crit softmax
####TODOs
- ✅ tarining on
Torchnet
- ✅
MaskConv()
module - ✅
Sigmoid()
criterion (on MNIST) - ▫️ sampling on
Torchnet
- ✅ 256-way
Softmax
support - ▫️ CIFAR dataset (it's easy but let me first finish the sampling part)
- ▫️ Conditional Image Generation with PixelCNN Decoders
Thanks @Shiyi Lan and @liuzhuang13 for their helpful discussions on the implementation.
Implementation in other languages/frameworks:
- Lasagne + Theano: https://github.com/kundan2510/pixelCNN
- Tenserflow: https://github.com/carpedm20/pixel-rnn-tensorflow