Deep neural networks have achieved significant success in many areas, including computer vision. However, many successful architectures rely on a huge amount of computing resources. This can restrict such learned models to be deployed to devices with limited computing power, such as IoT devices and mobile phones. The project aims to investigate and compare different techniques for simplifying deep neural networks while keeping the performance as much as possible.