DCGAN实验
一,理论基础
DCGAN对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速
度,这些改变有:
1.取消所有pooling层。G网络中使用转置卷积(transposed convolutional
layer)进行上采样,D网络中用加入stride的卷积代替pooling。
2.在D和G中均使用batch normalization
3.去掉FC层,使网络变为全卷积网络
4.G网络中使用ReLU作为**函数,最后一层使用tanh
5.D网络中使用LeakyReLU作为**函数,最后一层使用sigmoid函数。
二,具体实验
实验依赖数据:dataset [celebA, mnist, faces]
实验代码:tensorpack/examples/GAN/DCGAN.py
1.数据库简介
celebA人脸库,开放数据:大规模名人人脸标注数据集CelebA(20万+),大小为1G。
每个具有40个属性注释。它有很大的姿态变化和背景。详细信息如下:
身份数:10177个identities
图像数目:202599幅图像
每个图像注释:5个地标位置,40个二进制属性
Align&Cropped Images(对齐裁剪图像)
faces(270M)
2.网络设计
3.实验步骤
- Download the ‘aligned&cropped’ version of CelebA dataset
from http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
放在data/celebA目录下 - Start training:
python3 DCGAN.py –-gpu 4 –data data/celebA/img_align_celeba –cropsize
140
Generated samples will be available through tensorboard - Visualize samples with an existing model:
python3 DCGAN.py –gpu 4 –load path/to/model –sample
4.实验结果
celeba
跑200个epoch,大约用时6-7小时