这个仓库已经很久没有更新了,因为我不幸没有时间再维护它。如果您想作为合作者继续开发,请发送电子邮件到eriklindernoren@gmail.com。
Keras-GAN
该项目包含了一些在研究论文中提出的生成对抗网络(GAN)的Keras实现。这些模型在某些情况下是最终论文中描述的简化版本,但我选择专注于涵盖核心思想,而不是完全复制每一层的配置。非常欢迎对GAN种类的贡献和建议。
另请参阅: PyTorch-GAN
目录
安装
$ git clone https://github.com/eriklindernoren/Keras-GAN
$ cd Keras-GAN/
$ sudo pip3 install -r requirements.txt
实现
AC-GAN
辅助分类器生成对抗网络的实现。
论文: https://arxiv.org/abs/1610.09585
示例
$ cd acgan/
$ python3 acgan.py
对抗性自编码器
对抗性自编码器的实现。
论文: https://arxiv.org/abs/1511.05644
示例
$ cd aae/
$ python3 aae.py
BiGAN
双向生成对抗网络的实现。
论文: https://arxiv.org/abs/1605.09782
示例
$ cd bigan/
$ python3 bigan.py
BGAN
边界寻求生成对抗网络的实现。
论文: https://arxiv.org/abs/1702.08431
示例
$ cd bgan/
$ python3 bgan.py
CC-GAN
带上下文条件的生成对抗网络的半监督学习实现。
论文: https://arxiv.org/abs/1611.06430
示例
$ cd ccgan/
$ python3 ccgan.py
CGAN
条件生成对抗网络的实现。
论文: https://arxiv.org/abs/1411.1784
示例
$ cd cgan/
$ python3 cgan.py
上下文编码器
上下文编码器:通过修复学习特征的实现。
论文: https://arxiv.org/abs/1604.07379
示例
$ cd context_encoder/
$ python3 context_encoder.py
CoGAN
耦合生成对抗网络的实现。
论文: https://arxiv.org/abs/1606.07536
示例
$ cd cogan/
$ python3 cogan.py
CycleGAN
使用循环一致性生成对抗网络的非配对图像到图像翻译的实现。
论文: https://arxiv.org/abs/1703.10593
示例
$ cd cyclegan/
$ bash download_dataset.sh apple2orange
$ python3 cyclegan.py
DCGAN
深度卷积生成对抗网络的实现。
论文: https://arxiv.org/abs/1511.06434
示例
$ cd dcgan/
$ python3 dcgan.py
DiscoGAN
学习用生成对抗网络发现跨域关系的实现。 Code
论文: https://arxiv.org/abs/1703.05192
示例
$ cd discogan/
$ bash download_dataset.sh edges2shoes
$ python3 discogan.py
DualGAN
实现 DualGAN: Unsupervised Dual Learning for Image-to-Image Translation.
论文: https://arxiv.org/abs/1704.02510
示例
$ cd dualgan/
$ python3 dualgan.py
GAN
实现 Generative Adversarial Network,使用 MLP 生成器和判别器。
论文: https://arxiv.org/abs/1406.2661
示例
$ cd gan/
$ python3 gan.py
InfoGAN
实现 InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets.
论文: https://arxiv.org/abs/1606.03657
示例
$ cd infogan/
$ python3 infogan.py
LSGAN
实现 Least Squares Generative Adversarial Networks.
论文: https://arxiv.org/abs/1611.04076
示例
$ cd lsgan/
$ python3 lsgan.py
Pix2Pix
实现 Image-to-Image Translation with Conditional Adversarial Networks.
论文: https://arxiv.org/abs/1611.07004
示例
$ cd pix2pix/
$ bash download_dataset.sh facades
$ python3 pix2pix.py
PixelDA
实现 Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks.
论文: https://arxiv.org/abs/1612.05424
MNIST 到 MNIST-M 分类
训练一个分类器,将 MNIST 图像翻译为类似 MNIST-M 的图像(通过无监督的图像到图像领域自适应)。这个模型与在 MNIST 上训练分类器并在 MNIST-M 上进行评估的简单解决方案进行了比较。简单模型在 MNIST-M 上的分类准确率为 55%,而在领域自适应过程中训练的模型在 MNIST-M 上的分类准确率达到了 95%。
$ cd pixelda/
$ python3 pixelda.py
方法 | 准确率 |
---|---|
简单方法 | 55% |
PixelDA | 95% |
SGAN
实现 Semi-Supervised Generative Adversarial Network.
论文: https://arxiv.org/abs/1606.01583
示例
$ cd sgan/
$ python3 sgan.py
SRGAN
实现 Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network.
论文: https://arxiv.org/abs/1609.04802
示例
$ cd srgan/
<按照 srgan.py 顶部的步骤操作>
$ python3 srgan.py
WGAN
实现 Wasserstein GAN(使用 DCGAN 生成器和判别器)。
论文: https://arxiv.org/abs/1701.07875
示例
$ cd wgan/
$ python3 wgan.py
WGAN GP
实现 Improved Training of Wasserstein GANs.
论文: https://arxiv.org/abs/1704.00028
示例
$ cd wgan_gp/
$ python3 wgan_gp.py