face-generation

Deep Learning Project Face Generation (DCGAN)

View project on GitHub

Project: Face Generation

Udacity Deep Learning Nanodegree program 2019. In this project, I develop an algorithm to generate new images.

Project Overview

In this project, I built a deep convolutional generative adversarial network (DCGAN) that can generate new images. Furthermore, I use a method for visual analysis of a neural network is also know as feature maximization or activation maximization, to more information see paper 1 and paper 2. The project is using DCGAN, but it was based on GANs propose by Goodfellow


The project there are seven steps:

  • Step 1: Explore the Data
    • MNIST
    • CelebA
  • Step 2: Build the Neural Network
    • Input Function
    • Discriminator Function
    • Generator Function
    • Loss Function
    • Function to Optimization
  • Step 3: Neural Network Training
  • Step 4: Generation of new images
    • MNIST
    • CelebA
  • Step 5: Visual Analysis*
    • MNIST
    • CelebA

The code is written in Python 3 and Tensorflow all presented in Jupyter Notebook.

*Step 5 was implemented by me. Thus it does not belong in the Udacity original project.

Prerequisites

Thinks you have to install or installed on your working machine:

  • Python 3
  • Numpy
  • OS
  • Glob
  • Tqdm
  • Pickle
  • Matplotlib
  • Jupyter Notebook
  • Tensorflow

Jupyter Notebook

  • dlnd_face_generation.ipynb

This jupyter notebook describe the whole project from udacity, from the beginning to the end.

Download the Datasets

You do not worry about datasets. Because the notebook will download it for you, but if you know more about datasets see MNIST and CelebA

Running the project

The whole project is located in the file dlnd_face_generation.ipynb and it’s include the training and the prediction part. To open the project click here