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