/torchgan

Research Framework for easy and efficient training of GANs based on Pytorch

Primary LanguagePythonMIT LicenseMIT

TorchGAN

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Status Backers on Open Collective Sponsors on Open Collective Build status License Slack Stable Documentation Latest Documentation codecov Binder PyPI version

TorchGAN is a Pytorch based framework for designing and developing Generative Adversarial Networks. This framework has been designed to provide building blocks for popular GANs and also to allow customization for cutting edge research. Using TorchGAN's modular structure allows

  • Trying out popular GAN models on your dataset.
  • Plug in your new Loss Function, new Architecture, etc. with the traditional ones.
  • Seamlessly visualize the training with a variety of logging backends.

Installation

Using pip (for stable release):

  $ pip3 install torchgan

Using pip (for latest master):

  $ pip3 install git+https://github.com/torchgan/torchgan.git

From source:

  $ git clone https://github.com/torchgan/torchgan.git
  $ cd torchgan
  $ python setup.py install

Documentation

The documentation is available here

The documentation for this package can be generated locally.

  $ git clone https://github.com/torchgan/torchgan.git
  $ cd torchgan/docs
  $ pip install -r requirements.txt
  $ make html

Now open the corresponding file from build directory.

Supporting and Citing

This software was developed as part of academic research. If you would like to help support it, please star the repository. If you use this software as part of your research, teaching, or other activities, we would be grateful if you could cite the following:

@misc{pal2019torchgan,
    title={{TorchGAN: A Flexible Framework for GAN Training and Evaluation}},
    author={Avik Pal, and Aniket Das},
    year={2019},
    eprint={1909.03410},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

List of publications & submissions using TorchGAN (please open a pull request to add missing entries):

Contributing

We appreciate all contributions. If you are planning to contribute bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us. For more detailed guidelines head over to the official documentation.

Tutorials

The examples directory contain a set of tutorials to get you started with torchgan. Some of these notebooks are available on Google Colab (they are linked in the tutorials themselves). Additionally, these tutorials can be tried out using the binder link provided.

Contributors

This package has been developed by

  • Avik Pal (@avik-pal)
  • Aniket Das (@Aniket1998)

This project exists thanks to all the people who contribute.