A Collection of GANs - PyTorch
Project description
GANetic
A collection of highly customizable GANs implemented in PyTorch.
Table of Contents
Installation
Stable version:
pip install ganetic
Latest version:
pip install git+https://github.com/kingjuno/ganetic.git
Usage
DCGAN
import torch
from ganetic.dcgan import Discriminator, Generator
netG = Generator(
nz=100, # length of latent vector
nc=3, # number of channels in the training images.
ngf=64, # size of feature maps in generator
)
netD = Discriminator(
nc=3, # number of channels in the training images.
ndf=64, # size of feature maps in discriminator
)
noise = torch.randn(1, 100)
fake_img = netG(noise)
prediction = netD(fake_img)
SRGAN
import torch
from ganetic.srgan import Generator, Discriminator
img = torch.randn(1, 3, 64, 64)
gen = Generator(
scale_factor=4, # scale factor for super resolution
nci=3, # number of channels in input image
nco=3, # number of channels in output image
ngf=64, # number of filters in the generator
no_of_residual_blocks=5
)
disc = Discriminator(
input_shape=(3, 256, 256),
ndf=64, # number of filters in the discriminator
negative_slope=0.2, # negative slope of leaky relu
)
HR_img = gen(img)
pred = disc(HR_img)
Pix2Pix
import torch
from ganetic.pix2pix import Discriminator, Generator
img = torch.randn(1, 3, 256, 256)
gen = Generator(
nci=3, # number of channels in input image
nco=3, # number of channels in output image
ngf=64 # number of filters in the generator
)
disc = Discriminator(
nci=3, # number of channels in input image
ndf=64 # number of filters in the discriminator
)
fake = gen(img)
pred = disc(img, fake)
Conditional GANs
import torch
from ganetic.cgan import Discriminator, Generator
gen = Generator(
n_classes=10,
nz=100,
nc=3,
ngf=64,
out_size=64,
activation='relu',
last_activation='tanh'
)
disc = Discriminator(
n_classes=10,
nc=3,
ndf=64,
in_size=64,
activation='LeakyReLU',
last_activation='sigmoid'
)
z = torch.randn(64, 100)
label = torch.LongTensor(64).random_(0, 10)
print(gen(z, label).shape)
print(disc(gen(z, label), label).shape)
CycleGAN
import torch
from ganetic.cyclegan import Discriminator, Generator
img = torch.randn(1, 3, 128, 128)
gen = Generator(
nci=3,
nco=3,
ngf=64,
no_of_residual_blocks=9,
activation=torch.nn.ReLU(True),
last_activation=torch.nn.Tanh(),
)
print(gen(img).shape)
disc = Discriminator(
nci=3,
ndf=64,
no_of_layers=3,
activation=torch.nn.ReLU(True),
last_activation=torch.nn.Sigmoid(),
)
print(disc(img).shape)
Citations
@article{radford2015unsupervised,
title={Unsupervised representation learning with deep convolutional generative adversarial networks},
author={Radford, Alec and Metz, Luke and Chintala, Soumith},
journal={arXiv preprint arXiv:1511.06434},
year={2015}
}
@inproceedings{ledig2017photo,
title={Photo-realistic single image super-resolution using a generative adversarial network},
author={Ledig, Christian and Theis, Lucas and Husz{\'a}r, Ferenc and Caballero, Jose and Cunningham, Andrew and Acosta, Alejandro and Aitken, Andrew and Tejani, Alykhan and Totz, Johannes and Wang, Zehan and others},
booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
pages={4681--4690},
year={2017}
}
@inproceedings{isola2017image,
title={Image-to-image translation with conditional adversarial networks},
author={Isola, Phillip and Zhu, Jun-Yan and Zhou, Tinghui and Efros, Alexei A},
booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
pages={1125--1134},
year={2017}
}
@article{mirza2014conditional,
title={Conditional generative adversarial nets},
author={Mirza, Mehdi and Osindero, Simon},
journal={arXiv preprint arXiv:1411.1784},
year={2014}
}
@inproceedings{zhu2017unpaired,
title={Unpaired image-to-image translation using cycle-consistent adversarial networks},
author={Zhu, Jun-Yan and Park, Taesung and Isola, Phillip and Efros, Alexei A},
booktitle={Proceedings of the IEEE international conference on computer vision},
pages={2223--2232},
year={2017}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
GANetic-0.0.11.tar.gz
(8.6 kB
view details)
File details
Details for the file GANetic-0.0.11.tar.gz.
File metadata
- Download URL: GANetic-0.0.11.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
849f7156a27a4820956aa0f8b3d5ed3058512d3e18118f78faf958ec96e0cc23
|
|
| MD5 |
674d601af0e4dc9c883015db3c50789d
|
|
| BLAKE2b-256 |
a200d23e0b02de4b24d1152a06a620957fc4fc9e3bfc5d75f868ca144937f39c
|