anibali / infogan

An unofficial Torch implementation of InfoGAN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InfoGAN for Torch

This is an unofficial Torch implementation of the InfoGAN neural network architecture proposed by Chen et al in their paper "InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets". The original TensorFlow implementation can be found at https://github.com/openai/InfoGAN.

Generated MNIST digits varying c_1

Generated MNIST digits varying c_2

Features

  • Implement the InfoGAN network architecture
  • Use variational mutual information maximization for the error calculations (as per the paper)
  • CLI options for tweaking noise inputs and salient variables
  • Deterministic training

Requirements

Running

Begin by cloning this repository.

git clone https://github.com/anibali/infogan
cd infogan

NOTE: If you are using a Pascal architecture GPU (CUDA 8.0), you will need to modify the Dockerfile to build from a CUDA 8.0 base image. Refer to #5 for more details. Please make this change before proceeding.

Build the Docker image which contains Torch and all other required dependencies.

nvidia-docker build -t infogan-torch .

Download the MNIST dataset.

nvidia-docker run -it --rm --volume=$PWD:/app infogan-torch sh download_mnist.sh

Finally, run the training script.

nvidia-docker run -it --rm --volume=$PWD:/app infogan-torch th bin/train_infogan.lua

Output artifacts will appear in the out/ directory during training, including examples of fake images generated by the generator network and serialized copies of the generator and discriminator networks.

About

An unofficial Torch implementation of InfoGAN

License:MIT License


Languages

Language:Lua 99.4%Language:Shell 0.6%