背景
作者曾尝试使用cifar10建立GAN模型,这与MNIST图像集有所不同。因此结果不够好于预期。也许颜色尺寸是更复杂的生成因素。根据许多其他实现,网站和博客的介绍,cifar10的深度卷积模型是由自己的例程创建的。并添加一些重要提示。
编码条件
构建模型
判别器
- D: (100, 32, 32, 3) // input image shape with batch size 100
- D: (100, 16, 16, 64) // after conv2d 5x5 stride 2
- D: (100, 8, 8, 128) // after conv2d 5x5 stride 2
- D: (100, 4, 4, 256) // after conv2d 5x5 stride 2
- D: (100, 2, 2, 512) // after conv2d 5x5 stride 2
- D: (100, 2048) // flatten
- D: (100, 1) // sigmoid out
生成器
- G: (100, 100) // noise vector with batch size 100
- G: (100, 2048) // after linear
- G: (100, 2, 2, 512) // reshape
- G: (100, 4, 4, 256) // after deconv2d 5x5 stride 2
- G: (100, 8, 8, 128) // after deconv2d 5x5 stride 2
- G: (100, 16, 16, 64) // after deconv2d 5x5 stride 2
- G: (100, 32, 32, 3) // after deconv2d 5x5 stride 2 and tanh out
注意
- 除最后一层外的所有层。在描述符中使用relu,
- 对判别器(1e-3)和生成器(1e-4)使用不同的学习率
- 使用axis =“ channel index”的批处理归一化
- 在生成器中使用tanh输出
- 在第一层和最后一层不使用批处理规范化
- 一次训练鉴别器,两次生成器
结果样本
视频结果参考:https://www.youtube.com/watch?v=_REVVMWa9aE
CIFAR10图像数据集可参考:
https://www.ligongku.com/resource/737
转载自:https://github.com/4thgen/DCGAN-CIFAR10