Code and hyperparameters for the paper "Generative Adversarial Networks"

Overview

Generative Adversarial Networks

This repository contains the code and hyperparameters for the paper:

"Generative Adversarial Networks." Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. ArXiv 2014.

Please cite this paper if you use the code in this repository as part of a published research project.

We are an academic lab, not a software company, and have no personnel devoted to documenting and maintaing this research code. Therefore this code is offered with absolutely no support. Exact reproduction of the numbers in the paper depends on exact reproduction of many factors, including the version of all software dependencies and the choice of underlying hardware (GPU model, etc). We used NVIDA Ge-Force GTX-580 graphics cards; other hardware will use different tree structures for summation and incur different rounding error. If you do not reproduce our setup exactly you should expect to need to re-tune your hyperparameters slight for your new setup.

Moreover, we have not integrated any unit tests for this code into Theano or Pylearn2 so subsequent changes to those libraries may break the code in this repository. If you encounter problems with this code, you should make sure that you are using the development branch of Pylearn2 and Theano, and use "git checkout" to go to a commit from approximately June 9, 2014.

This code itself requires no installation besides making sure that the "adversarial" directory is in a directory in your PYTHONPATH. If installed correctly, 'python -c "import adversarial"' will work. You must also install Pylearn2 and Pylearn2's dependencies (Theano, numpy, etc.)

parzen_ll.py is the script used to estimate the log likelihood of the model using the Parzen density technique.

Call pylearn2/scripts/train.py on the various yaml files in this repository to train the model for each dataset reported in the paper. The names of *.yaml are fairly self-explanatory.

Comments
  • What does val mean here

    What does val mean here

    https://github.com/goodfeli/adversarial/blob/27eac0351588f486c11fbe7fe88a17e4a1aa4888/parzen_ll.py#L153-L153 What does the val mean here? I could not find any hint in this file

    opened by jimmyahacker 1
  • * Fix a typo

    * Fix a typo

    Fix a typo in parzen_ll.py The following is the result using my instruction on how to reproduce the original GAN and wish this would help others

    Using gpu device 0: Tesla K80 (CNMeM is disabled, CuDNN not available)
    /scratch/sj2363/hsn/attack_generate/original_gan_reproduction/pylearn2/pylearn2/space/__init__.py:895: FutureWarning: Conversion of the second argument of issubdtype from `complex` to `np.complexfloating` is deprecated. In future, it will be treated as `np.complex128 == np.dtype(complex).type`.
      return np.issubdtype(dtype, np.complex)
    Using Sigma: 0.01
    0 0.5437917709350586 -249610.04500921787
    10 0.4127103198658336 -254864.56703336554
    20 0.4046180702391125 -256314.53794820592
    30 0.40232555327876923 -256196.53144318963
    40 0.4012015796289211 -255919.3469756813
    50 0.4002548199073941 -255600.8114277227
    60 0.3996614237300685 -255690.43841213794
    70 0.3994017889801885 -256184.89072224603
    80 0.3990846445531021 -255830.50266160985
    90 0.3988482244722136 -255731.5973735723
    Log-Likelihood of test set = -256075.399815, se: 791.576879859
    0 0.39833712577819824 -255978.92391546787
    10 0.3963735753839666 -253777.21132313827
    20 0.39686526571001324 -253051.69069002144
    30 0.3968393264278289 -253648.935089863
    40 0.39672014771438224 -253051.69475388253
    50 0.396716692868401 -252101.05537533303
    60 0.39688189303288696 -253178.86357351087
    70 0.39701688121741924 -253049.50480345203
    80 0.3969559728363414 -252923.0343543182
    90 0.3969241472390982 -253003.14902707504
    Log-Likelihood of valid set = -252932.163116, se: 780.599199411
    
    opened by jimmyahacker 0
  • Wrong Equ(4) in paper

    Wrong Equ(4) in paper

    Dear author: There is a typo in Equ.(4) in your paper. In the last row, according to the definition of Expectation, it should be p_data(x) rather than the distribution function P_data(x).

    opened by Cuiyirui 0
  • Hello

    Hello

    Hello Ian Goodfellow,

    Dude, you invented GAN's, right?

    What if this is the invention of the century?

    What if it is the most important software innovation in human history?

    Bmeet

    opened by bitcoinmeetups 0
  • ImportError: No module named adversarial

    ImportError: No module named adversarial

    Hello,I attempt to reproduce your adversarial net , but there is something wrong as the tittle mentioned. I noticed that I should set the "adversarial" directory in my PYTHONPATH environment variable.
    I am puzzled,however ,what does the "adversarial" directory meani? I tried to set directory of the project into the PYTHONPATH but failed with the "ImportError: No module named adversarial". I wish you could Solve my doubts.Thanks a lot.

    opened by Solomon1588 5
  • Sample Training Times for CIFAR/ MNIST Models

    Sample Training Times for CIFAR/ MNIST Models

    Hi , I wondering if readers could be made aware of approx training time for a few of the models. Since it will mostly depend on hardware and software environment, maybe the hardware and software systems used in the paper "Generative Adversarial Nets" can be posted.

    Thanks

    opened by stripathi669 2
Owner
Ian Goodfellow
Ian Goodfellow
Code for the paper "TadGAN: Time Series Anomaly Detection Using Generative Adversarial Networks"

TadGAN: Time Series Anomaly Detection Using Generative Adversarial Networks This is a Python3 / Pytorch implementation of TadGAN paper. The associated

Arun 92 Dec 3, 2022
Generating Anime Images by Implementing Deep Convolutional Generative Adversarial Networks paper

AnimeGAN - Deep Convolutional Generative Adverserial Network PyTorch implementation of DCGAN introduced in the paper: Unsupervised Representation Lear

Rohit Kukreja 23 Jul 21, 2022
Partial implementation of ODE-GAN technique from the paper Training Generative Adversarial Networks by Solving Ordinary Differential Equations

ODE GAN (Prototype) in PyTorch Partial implementation of ODE-GAN technique from the paper Training Generative Adversarial Networks by Solving Ordinary

Somshubra Majumdar 15 Feb 10, 2022
Pytorch implementation for reproducing StackGAN_v2 results in the paper StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks

StackGAN-v2 StackGAN-v1: Tensorflow implementation StackGAN-v1: Pytorch implementation Inception score evaluation Pytorch implementation for reproduci

Han Zhang 809 Dec 16, 2022
Code for "On the Effects of Batch and Weight Normalization in Generative Adversarial Networks"

Note: this repo has been discontinued, please check code for newer version of the paper here Weight Normalized GAN Code for the paper "On the Effects

Sitao Xiang 182 Sep 6, 2021
This code uses generative adversarial networks to generate diverse task allocation plans for Multi-agent teams.

Mutli-agent task allocation This code uses generative adversarial networks to generate diverse task allocation plans for Multi-agent teams. To change

Biorobotics Lab 5 Oct 12, 2022
HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis

HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis Jungil Kong, Jaehyeon Kim, Jaekyoung Bae In our paper, we p

Rishikesh (ऋषिकेश) 31 Dec 8, 2022
StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

null 3k Jan 8, 2023
[ICLR 2021, Spotlight] Large Scale Image Completion via Co-Modulated Generative Adversarial Networks

Large Scale Image Completion via Co-Modulated Generative Adversarial Networks, ICLR 2021 (Spotlight) Demo | Paper [NEW!] Time to play with our interac

Shengyu Zhao 373 Jan 2, 2023
Regularizing Generative Adversarial Networks under Limited Data (CVPR 2021)

Regularizing Generative Adversarial Networks under Limited Data [Project Page][Paper] Implementation for our GAN regularization method. The proposed r

Google 148 Nov 18, 2022
NR-GAN: Noise Robust Generative Adversarial Networks

NR-GAN: Noise Robust Generative Adversarial Networks (CVPR 2020) This repository provides PyTorch implementation for noise robust GAN (NR-GAN). NR-GAN

Takuhiro Kaneko 59 Dec 11, 2022
π-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis

π-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis Project Page | Paper | Data Eric Ryan Chan*, Marco Monteiro*, Pe

null 375 Dec 31, 2022
Unofficial implementation of Alias-Free Generative Adversarial Networks. (https://arxiv.org/abs/2106.12423) in PyTorch

alias-free-gan-pytorch Unofficial implementation of Alias-Free Generative Adversarial Networks. (https://arxiv.org/abs/2106.12423) This implementation

Kim Seonghyeon 502 Jan 3, 2023
PyTorch implementations of Generative Adversarial Networks.

This repository has gone stale as I unfortunately do not have the time to maintain it anymore. If you would like to continue the development of it as

Erik Linder-Norén 13.4k Jan 8, 2023
Image Deblurring using Generative Adversarial Networks

DeblurGAN arXiv Paper Version Pytorch implementation of the paper DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks. Our netwo

Orest Kupyn 2.2k Jan 1, 2023
PyTorch implementation of "Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"

DiscoGAN in PyTorch PyTorch implementation of Learning to Discover Cross-Domain Relations with Generative Adversarial Networks. * All samples in READM

Taehoon Kim 1k Jan 4, 2023
Official implementation of "Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"

DiscoGAN Official PyTorch implementation of Learning to Discover Cross-Domain Relations with Generative Adversarial Networks. Prerequisites Python 2.7

SK T-Brain 754 Dec 29, 2022
A simple PyTorch Implementation of Generative Adversarial Networks, focusing on anime face drawing.

AnimeGAN A simple PyTorch Implementation of Generative Adversarial Networks, focusing on anime face drawing. Randomly Generated Images The images are

Jie Lei 雷杰 1.2k Jan 3, 2023
Alias-Free Generative Adversarial Networks (StyleGAN3) Official PyTorch implementation

Alias-Free Generative Adversarial Networks (StyleGAN3) Official PyTorch implementation

NVIDIA Research Projects 4.8k Jan 9, 2023