  Deep Learning (DL) is one of the hottest trends in machine learning as DL
approaches produced results superior to the state-of-the-art in problematic
areas such as image processing and natural language processing (NLP). To foster
the growth of DL, several open source frameworks appeared providing
implementations of the most common DL algorithms. These frameworks vary in the
algorithms they support and in the quality of their implementations. The
purpose of this work is to provide a qualitative and quantitative comparison
among three of the most popular and most comprehensive DL frameworks (namely
Google's TensorFlow, University of Montreal's Theano and Microsoft's CNTK). The
ultimate goal of this work is to help end users make an informed decision about
the best DL framework that suits their needs and resources. To ensure that our
study is as comprehensive as possible, we conduct several experiments using
multiple benchmark datasets from different fields (image processing, NLP, etc.)
and measure the performance of the frameworks' implementations of different DL
algorithms. For most of our experiments, we find out that CNTK's
implementations are superior to the other ones under consideration.
