MSc Thesis Defense by Aske Dørge


Deep Learning and in particular Convolutional Neural Networks have risen in pop- ularity in recent years. This is both due to theoretical advancements as well as the availability of powerful consumer grade GPU hardware to process large amounts of data in little time.

SHARK is an open source CPU-based machine learning library implemented in C++. There are many machine learning methods available in Shark, but none are GPU-based and there are no Convolutional Neural Networks implemented. This project’s major contribution is the successful implementation of GPU-based Convolutional Neural Networks in SHARK. This includes convolutional, fully connected, and pooling layers, all running on GPU and capable of maintaining a high-throughput. Deep Learning requires large datasets to converge to optimal solutions. Hence affine and elastic image distortions have been implemented to extend training data sets.

To validate the implementation it is run on the popular benchmark data sets MNIST and CIFAR-10 and the results are compared to a popular Convolutional Neural Network implementation and results from the literature.

Supervisor: Christian Igel
Censor: Ole Winther, DTU