Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

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. 

ToolDeveloperSupported Operating SystemsProgramming LanguageGPU Support
TensorflowGoogleMac OS, Linux (32 or 64-bit)python, c, c++yes
CaffeUC BerkeleyMac OS, Linux, Windows (32 or 64-bit)c++, python, matlabyes
CNTKMicrosoft64-bit Linux or 64-bit WindowsBrainscriptyes
TheanoLISA labWindows, Linux, Mac OS (32 or 64-bit)pythonyes
KerasGoogleWindows, Linux, Mac OS (32 or 64-bit)pythonyes

Table of Content