  We use CNNs to build a system that both classifies images of faces based on a
variety of different facial attributes and generates new faces given a set of
desired facial characteristics. After introducing the problem and providing
context in the first section, we discuss recent work related to image
generation in Section 2. In Section 3, we describe the methods used to
fine-tune our CNN and generate new images using a novel approach inspired by a
Gaussian mixture model. In Section 4, we discuss our working dataset and
describe our preprocessing steps and handling of facial attributes. Finally, in
Sections 5, 6 and 7, we explain our experiments and results and conclude in the
following section. Our classification system has 82\% test accuracy.
Furthermore, our generation pipeline successfully creates well-formed faces.
