Directly program to develop a neural network can be difficult, a deep learning framework helps people to build neural networks using simple codes, usually you just need design the architecture of your network, which optimizer you want to use, what is your loss function, and so on, the framework will help you do not the rest of things. With these frameworks, not only experts in programming can create their own networks, for someone who is not good at programming can also create their first network after studying these frameworks.
Because deep learning becomes a very hot topic in Artificial Intelligence, not only companies (like Google, Nvidia, Microsoft) but also some Universities (UC Berkeley) are working on develop or maintain a framework. This wiki page helps you have a quick overview on different frameworks of deep learning, you can choose your favorite one based on your programming skill and the operating system of your PC. In this wiki page, 2 frameworks TensorFlow and CNTK are introduced in detail, these 2 frameworks are wily used both in academia and industry.
Table of Content
Choosing which framework to design and train the neural network can be a problem for most of the beginners. In order to make reader have a clear overview on different frameworks and to choose the most proper framework based on the favorite programming language and the operating system of readers' personal computer, a table is made below. Three frameworks are open source and free to download.
|Tool||Developer||Supported Operating Systems||Programming Language||GPU Support|
|Tensorflow||Mac OS, Linux (32 or 64-bit)||python, c, c++||yes|
|Caffe||UC Berkeley||Mac OS, Linux, Windows (32 or 64-bit)||c++, python, matlab||yes|
|CNTK||Microsoft||64-bit Linux or 64-bit Windows||Brainscript||yes|
|Theano||LISA lab||Windows, Linux, Mac OS (32 or 64-bit)||python||yes|
|Keras||Windows, Linux, Mac OS (32 or 64-bit)||python||yes|