Tensorflow生成模型收集: GANs与VAEs

本文将收集TensorFlow可生成的模型,列举出各种GANs和VAEs的Tensorflow实现。

生成对抗网络(GANs)

列表

GAN文章链接:https://arxiv.org/abs/1406.2661

LSGAN文章链接:https://arxiv.org/abs/1611.04076

WGAN文章链接:https://arxiv.org/abs/1701.07875

DRAGAN文章链接:https://arxiv.org/abs/1705.07215

CGAN文章链接:https://arxiv.org/abs/1411.1784

infoGAN文章链接:https://arxiv.org/abs/1606.03657

ACGAN文章链接:https://arxiv.org/abs/1610.09585

EBGAN文章链接:https://arxiv.org/abs/1609.03126

BEGAN文章链接:https://arxiv.org/abs/1702.08431

GAN架构变体

mnist结果

生成器和鉴别器的网络架构恰好与infoGAN纸上提到的架构相同。infoGAN纸地址:https://arxiv.org/abs/1606.0365

为了公平地比较所有Gan变体的核心思想,除了EBGAN和BEGAN,网络架构的所有实现都保持不变。然后对EBGAN/BEGAN进行了小的修改,因为它们采用了自动编码器结构。

以下结果可以用命令重现:

python main.py --dataset mnist --gan_type <TYPE> --epoch 25 --batch_size 64

随机生成

所有的结果都是随机抽取的。

每一行都有相同的噪声向量,每一列都有相同的标签条件。

有条件的生成

InfoGAN:操纵两个连续的代码

Fashion-mnist结果

mnist的网络架构的评论也被应用到这里。

Fashion-mnist是最近提出的一个数据集,它包含了6万个示例和1万个示例的测试集。Fashion-mnist数据集地址:https://github.com/zalandoresearch/fashion-mnist。每个例子都是一个28×28的灰度图像,与10个类(t恤/上衣,裤子,套衫,衣服,外套,凉鞋,衬衫,运动鞋,包,短靴)的标签相关联。

以下结果可以用命令重现:

python main.py --dataset fashion-mnist --gan_type <TYPE> --epoch 40 --batch_size 64

随机生成

所有的结果都是随机抽取的。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

如果没有mnist版本的超参数调优,那么ACGAN/infoGAN就不能很好地与iwth CGAN进行比较。ACGAN倾向于陷入模式崩溃。infoGAN倾向于忽略噪声矢量。它导致同一类中的不同样式不能被表示。

InfoGAN:操纵两个连续的代码

变分自编码器(VANs)

列表

VAE文章链接:https://arxiv.org/abs/1312.6114

CVAE文章链接:https://arxiv.org/abs/1406.5298

DVAE文章链接:https://arxiv.org/abs/1511.06406

AAE文章链接:https://arxiv.org/abs/1511.05644

VAE架构变体

mnist结果

译码器(发生器)和编码器(鉴别器)的网络架构与infoGAN纸上的架构相同。infoGAN纸地址:https://arxiv.org/abs/1606.0365。编码器的输出节点数是不同的。(VAE为2x z_dim,GAN为1)

以下结果可以用命令重现:

python main.py --dataset mnist --gan_type <TYPE> --epoch 25 --batch_size 64

随机生成

所有的结果都是随机抽取的。

此外,还对GAN的结果进行了比较,比较了VAE和GAN生成的图像。主要的区别(VAE生成平滑和模糊的图像,GAN生成锐利的和手工的图像)可以从结果中观察到。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

同时对CGAN的结果进行了比较,比较了CVAE和CGAN生成的图像。

Fashion-mnist结果

mnist的网络架构的评论也被应用到这里。

以下结果可以用命令重现:

python main.py --dataset fashion-mnist --gan_type <TYPE> --epoch 40 --batch_size 64

随机生成

所有的结果都是随机抽取的。

此外,还对GAN的结果进行了比较,比较了VAE和GAN生成的图像。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

同时对CGAN的结果进行了比较,比较了CVAE和CGAN生成的图像。

文件夹架构

下面显示了基本的文件夹架构。

├── main.py # gateway
├── data
│ ├── mnist # mnist data (not included in this repo)
│ | ├── t10k-images-idx3-ubyte.gz
│ | ├── t10k-labels-idx1-ubyte.gz
│ | ├── train-images-idx3-ubyte.gz
│ | └── train-labels-idx1-ubyte.gz
│ └── fashion-mnist # fashion-mnist data (not included in this repo)
│ ├── t10k-images-idx3-ubyte.gz
│ ├── t10k-labels-idx1-ubyte.gz
│ ├── train-images-idx3-ubyte.gz
│ └── train-labels-idx1-ubyte.gz
├── GAN.py # vainilla GAN
├── ops.py # some operations on layer
├── utils.py # utils
├── logs # log files for tensorboard to be saved here
└── checkpoint # model files to be saved here

这个实现基于一个存储库,并在Windows 10和Ubuntu14.04上测试了Tensorflow。存储库地址:https://github.com/carpedm20/DCGAN-tensorflow

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-08-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据智能实战

LargeVis可视化技术学习

大图可视化一直是大数据可视化领域的一个关键技术,当前有各种办法,但是今年出来了一个LargeVis的技术,因此对这个技术进行复现和学习一下。 前面有很多基础理论...

45970
来自专栏AI研习社

手把手教你搭建能够实现 Prisma 风格迁移效果的 iOS 酷炫应用(附代码)

随着 2012 年深度神经网络在 ImageNetchallenge 比赛上以 AlexNet 模型获胜,深度神经网络开创了空前的高潮。AI 工程师已经将深度学...

23430
来自专栏ATYUN订阅号

计算机视觉项目:用dlib进行单目标跟踪

本教程将教你如何使用dlib和Python执行目标跟踪(object tracking)。阅读今天的博客文章后,你将能够使用dlib实时跟踪视频中的目标。

91220
来自专栏用户2442861的专栏

Caffe学习:Blobs, Layers, and Nets

-注意:网络结构是设备无关的,Blob和Layer=隐藏了模型定义的具体实现细节。定义网络结构后,可以通过Caffe::mode()或者Caffe::set_m...

7800
来自专栏GIS讲堂

Openlayers3中如何优雅的表示等值面

等值面,顾名思义,就是值相等的面,在水文或气象中会有很多这样的需求。本文不讲如何做等值面,本文将如何展示等值面。

14620
来自专栏简书专栏

基于jieba、gensim.word2vec、LogisticRegression的文档分类

建议读者安装anaconda,这个集成开发环境自带了很多包。 到2018年8月30日仍为最新版本的anaconda下载链接: https://pan.baid...

39240
来自专栏机器学习实践二三事

caffe introduction & classification

caffe 介绍 caffe是Berkely的深度学习框架,在流行的deep learning framework里属于使用人数很多的,github上的统计显示...

24350
来自专栏人工智能头条

EC2上的深度学习:CUDA 7/cuDNN/caffe/DIGITS实战教程

21640
来自专栏ATYUN订阅号

【实践操作】 在iOS11中使用Core ML 和TensorFlow对手势进行智能识别

在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。用户可以使用简单的手势来控制或与设备交互,让计算机理解人类的行为。 这篇文章将带领你实现在你自己...

55260
来自专栏专知

【干货】主题模型如何帮助法律部门提取PDF摘要及可视化(附代码)

【导读】本文是Oguejiofor Chibueze于1月25日发布的一篇实用向博文,详细介绍了如何将主题模型应用于法律部门。文章中,作者分析了律师在浏览大量的...

40070

扫码关注云+社区

领取腾讯云代金券