Generative Adverserial Network for face generation using Tensorflow and DCGAN architecture
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Chakib Benziane a174e3b572 Update README.md 7 years ago
samples add xavier initialization and dropouts to network 7 years ago
README.md Update README.md 7 years ago
dcgan.png architecture image 7 years ago
dlnd_face_generation.html add xavier initialization and dropouts to network 7 years ago
dlnd_face_generation.ipynb add xavier initialization and dropouts to network 7 years ago
helper.py submit project 7 years ago
problem_unittests.py submit project 7 years ago

README.md

Face Generation GAN based on DCGAN architecture

Architecture

DCGAN Architecture

Examples

Mnist

MNIST

Celeba

Celeba Celeba

Details

codes for layers

  • 1 layer = (size)F|C(ks,str,p)|DC(ks,str)|BN|D|LR
  • (size): size of layer or filters
  • F: Fully Connected
  • C: Convulution
  • DC(ks,str): Deconvulution with (Kernel Size, Stride, padding)
  • BN: Batch normalization
  • D: Dropout
  • LR: Leaky Relu

Generator:

Full: (7x7x1024)F -> D -> LR

DCONV1: (512)DC(3,2,same) -> BN -> D -> LR

DCONV2: (256)DC(3,2,same) -> BN -> D -> LR

DCONV3: (128)DC(5,1,same) -> BN -> D -> LR

DCONV_OUT: (channles)DC(5,1)

Discriminator:

CONV1: (64)C(5,1,valid) -> LR

CONV2: (128)C(5,1,valid) -> BN -> D -> LR

CONV3: (256)C(5,1,valid) -> BN -> D -> LR

CONV4: (512)C(5,2,valid) -> BN -> D -> LR

OUT: (flat)F

Hyperparameters for celeba set

  • Leaky Relu Slope: 0.2
  • Adam Optimizaer beta: 0.5
  • Learning rate: 0.0003
  • Batch Size: 16
  • latent vector dimension: 100
  • dropout: 0.5
  • 1 epoch