All Projects β†’ iamalexkorotin β†’ Wasserstein2GenerativeNetworks

iamalexkorotin / Wasserstein2GenerativeNetworks

Licence: MIT license
PyTorch implementation of "Wasserstein-2 Generative Networks" (ICLR 2021)

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Wasserstein2GenerativeNetworks

gan-qp.pytorch
Unofficial PyTorch implementation of "GAN-QP: A Novel GAN Framework without Gradient Vanishing and Lipschitz Constraint"
Stars: ✭ 26 (-31.58%)
Mutual labels:  generative-adversarial-network, optimal-transport
favorite-research-papers
Listing my favorite research papers πŸ“ from different fields as I read them.
Stars: ✭ 12 (-68.42%)
Mutual labels:  generative-adversarial-network, style-transfer
CS231n
PyTorch/Tensorflow solutions for Stanford's CS231n: "CNNs for Visual Recognition"
Stars: ✭ 47 (+23.68%)
Mutual labels:  generative-adversarial-network, style-transfer
CartoonGAN-tensorflow
Simple code implement the paper of CartoonGAN(CVPR2018)
Stars: ✭ 14 (-63.16%)
Mutual labels:  generative-adversarial-network, style-transfer
Deep Learning With Python
Example projects I completed to understand Deep Learning techniques with Tensorflow. Please note that I do no longer maintain this repository.
Stars: ✭ 134 (+252.63%)
Mutual labels:  generative-adversarial-network, style-transfer
Hidt
Official repository for the paper "High-Resolution Daytime Translation Without Domain Labels" (CVPR2020, Oral)
Stars: ✭ 513 (+1250%)
Mutual labels:  generative-adversarial-network, style-transfer
Few Shot Patch Based Training
The official implementation of our SIGGRAPH 2020 paper Interactive Video Stylization Using Few-Shot Patch-Based Training
Stars: ✭ 313 (+723.68%)
Mutual labels:  generative-adversarial-network, style-transfer
gans-2.0
Generative Adversarial Networks in TensorFlow 2.0
Stars: ✭ 76 (+100%)
Mutual labels:  generative-adversarial-network, style-transfer
Cyclegan Qp
Official PyTorch implementation of "Artist Style Transfer Via Quadratic Potential"
Stars: ✭ 59 (+55.26%)
Mutual labels:  generative-adversarial-network, style-transfer
Data Augmentation Review
List of useful data augmentation resources. You will find here some not common techniques, libraries, links to github repos, papers and others.
Stars: ✭ 785 (+1965.79%)
Mutual labels:  generative-adversarial-network, style-transfer
Tsit
[ECCV 2020 Spotlight] A Simple and Versatile Framework for Image-to-Image Translation
Stars: ✭ 141 (+271.05%)
Mutual labels:  generative-adversarial-network, style-transfer
progressive-growing-of-gans.pytorch
Unofficial PyTorch implementation of "Progressive Growing of GANs for Improved Quality, Stability, and Variation".
Stars: ✭ 51 (+34.21%)
Mutual labels:  generative-adversarial-network, optimal-transport
Cross-Domain-Image-Translation-Using-CycleGAN
CycleGAN based neural network architecture to change the gender of a person’s face
Stars: ✭ 15 (-60.53%)
Mutual labels:  generative-adversarial-network
pytorch-domain-adaptation
Unofficial pytorch implementation of algorithms for domain adaptation
Stars: ✭ 24 (-36.84%)
Mutual labels:  generative-adversarial-network
adversarial-networks
Material de la charla "The bad guys in AI - atacando sistemas de machine learning"
Stars: ✭ 15 (-60.53%)
Mutual labels:  generative-adversarial-network
Keras-Style-Transfer
An implementation of "A Neural Algorithm of Artistic Style" in Keras
Stars: ✭ 36 (-5.26%)
Mutual labels:  style-transfer
Audio2Guitarist-GAN
Two-stage GANs that generate fingerstyle guitarist images from audio.
Stars: ✭ 53 (+39.47%)
Mutual labels:  generative-adversarial-network
stylegan-encoder
StyleGAN Encoder - converts real images to latent space
Stars: ✭ 694 (+1726.32%)
Mutual labels:  generative-adversarial-network
Easter-Bootcamp-2018
Designed to take you from zero experience to GANs within a week.
Stars: ✭ 24 (-36.84%)
Mutual labels:  generative-adversarial-network
SSVEP-Neural-Generative-Models
Code to accompany our International Joint Conference on Neural Networks (IJCNN) paper entitled - Simulating Brain Signals: Creating Synthetic EEG Data via Neural-Based Generative Models for Improved SSVEP Classification
Stars: ✭ 37 (-2.63%)
Mutual labels:  generative-adversarial-network

Wasserstein-2 Generative Networks

This is the official Python implementation of the ICLR 2021 paper Wasserstein-2 Generative Networks (paper on openreview) by Alexander Korotin, Vahe Egizarian, Arip Asadulaev, Alexander Safin and Evgeny Burnaev.

The repository contains reproducible PyTorch source code for computing optimal transport maps (and distances) in high dimensions via the end-to-end non-minimax method (proposed in the paper) by using input convex neural networks. Examples are provided for various real-world problems: color transfer, latent space mass transport, domain adaptation, style transfer.

Citation

@inproceedings{
  korotin2021wasserstein,
  title={Wasserstein-2 Generative Networks},
  author={Alexander Korotin and Vage Egiazarian and Arip Asadulaev and Alexander Safin and Evgeny Burnaev},
  booktitle={International Conference on Learning Representations},
  year={2021},
  url={https://openreview.net/forum?id=bEoxzW_EXsa}
}

Prerequisites

The implementation is GPU-based. Single GPU (~GTX 1080 ti) is enough to run each particular experiment. Tested with

torch==1.3.0 torchvision==0.4.1

The code might not run as intended in newer torch versions. Newer torchvision might conflict with FID score evaluation.

Related repositories

Repository structure

All the experiments are issued in the form of pretty self-explanatory jupyter notebooks (notebooks/). For convenience, the majority of the evaluation output is preserved. Auxilary source code is moved to .py modules (src/).

Experiments

  • notebooks/W2GN_toy_experiments.ipynb -- toy experiments (2D: Swiss Roll, 100 Gaussuans, ...);
  • notebooks/W2GN_gaussians_high_dimensions.ipynb -- optimal maps between Gaussians in high dimensions;
  • notebooks/W2GN_latent_space_optimal_transport.ipynb -- latent space optimal transport for generating CelebA 64x64 aligned images;
  • notebooks/W2GN_domain_adaptation.ipynb -- domain adaptation for MNIST-USPS digits datasets;
  • notebooks/W2GN_color_transfer.ipynb -- cycle monotone pixel-wise image-to-image color transfer (example images are provided in data/color_transfer/);
  • notebooks/W2GN_style_transfer.ipynb -- cycle monotone image dataset-to-dataset style transfer (used datasets are publicitly available at the official CycleGan repo);

Input convex neural networks

  • src/icnn.py -- modules for Input Convex Neural Network architectures (DenseICNN, ConvICNN);

Poster

  • poster/W2GN_poster.png -- poster (landscape format)
  • poster/W2GN_poster.svg -- source file for the poster

Results

Toy Experiments

Transforming single Gaussian to the mixture of 100 Gaussuans without mode dropping/collapse (and some other toy cases).

Optimal Transport Maps between High Dimensional Gaussians

Assessing the quality of fitted optimal transport maps between two high-dimensional Gaussians (tested in dim up to 4096). The metric is Unexplained Variance Percentage (UVP, %).

2 4 8 16 32 64 128 256 512 1024 2048 4096
Large-scale OT <1 3.7 7.5 14.3 23 34.7 46.9 >50 >50 >50 >50 >50
Wasserstein-2 GN <1 <1 <1 <1 <1 <1 1 1.1 1.3 1.7 1.8 1.5

Latent Space Optimal Transport

CelebA 64x64 generated faces. The quality of the model highly depends on the quality of the autoencoder. Use notebooks/AE_Celeba.ipynb to train MSE or perceptual AE (on VGG features, to improve AE visual quality).
Pre-trained autoencoders: MSE-AE [Goodle Drive, Yandex Disk], VGG-AE [Google Drive, Yandex Disk].

Combining simple pre-trained MSE autoencoder with W2GN is enough to surpass Wasserstein GAN model in Freschet Inception Distance Score (FID).

AE Reconstruct AE Raw Decode AE + W2GN WGAN
FID Score 23.35 86.66 43.35 45.23

Perceptual VGG autoencoder combined with W2GN provides nearly State-of-the-art FID (compared to Wasserstein GAN with Quadratic Cost).

AE Reconstruct AE Raw Decode AE + W2GN WGAN-QC
FID Score 7.5 31.81 17.21 14.41

Image-to-Image Color Transfer

Cycle monotone color transfer is applicable even to gigapixel images!

Domain Adaptation

MNIST-USPS domain adaptation. PCA Visualization of feature spaces (see the paper for metrics).

Unpaired Image-to-Image Style Transfer

Optimal transport map in the space of images. Photo2Cezanne and Winter2Summer datasets are used.

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].