DCGAN实验

来源:互联网 发布:js 中国地图 编辑:程序博客网 时间:2024/06/05 20:07

一,理论基础

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.实验步骤

  1. Download the ‘aligned&cropped’ version of CelebA dataset
    from http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
    放在data/celebA目录下
  2. Start training:
    python3 DCGAN.py –-gpu 4 –data data/celebA/img_align_celeba –cropsize
    140
    Generated samples will be available through tensorboard
  3. Visualize samples with an existing model:
    python3 DCGAN.py –gpu 4 –load path/to/model –sample

4.实验结果

celeba
跑200个epoch,大约用时6-7小时
这里写图片描述
这里写图片描述这里写图片描述

原创粉丝点击