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
Introduction
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 |
7 Kommentare
Unbekannter Benutzer (ga25gux) sagt:
28.Januar 2017Hi,
I have found some mistakes and possible corrections. While writing try to form simple sentences and try to avoid unnecessarily complex sentences.
Choose 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 choose the properest 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.
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.
TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them.
TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors), which communicates between them.
The flexible architecture allows user to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API.(The meaning is not clear)
TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well. Read this wiki page, you will be able to:
TensorFlow was originally developed by researchers and engineers working with the Google Brain Team from Google's Machine Intelligence research organization, whose purpose is to conduct machine learning and deep neural networks research. The system is general enough to be applicable in a wide variety of other domains as well. After reading this wiki page, you will be able to:
The programming language of TensorFlow is python, and now the supported operating systems of TensorFlow are Linux and Mac OS. You can install TensorFlow either from binary packages provided by Google or from the github source.
The programming language of TensorFlow is python, and the supported operating systems of TensorFlow are Linux and Mac OS. You can install TensorFlow either from binary packages provided by Google or from the github source.
If you want to install TensorFlow without GPU support, you don't have to install Cuda toolkit and cuDNN, but directly install TensorFlow.
If you want to install TensorFlow without GPU support, you don't have to install Cuda toolkit and cuDNN. It is enough if you only install TensorFlow.
To install TensorFlow with GPUs support, you have first install Cuda toolkit and cuDNN before install TensorFlow.
To install TensorFlow with GPUs support, you have first install Cuda toolkit and cuDNN before installing TensorFlow.
And we recommend to seperate TensorFlow from the normal python environment, if some error come out during the training process, it won't have any impact on your normal python
And we recommend to seperate TensorFlow from the normal python environment, in case some error may happen during the training process. This won't have any impact on your normal python
Getting 92% accuracy on MNIST is bad. It's almost embarrassingly bad.
Getting 92% accuracy on MNIST is bad. It's almost embarrassingly.
To create this model, we're going to need to create a lot of weights and biases.
To create this model, we're going to need a lot of weights and biases.
Unbekannter Benutzer (ga25ked) sagt:
31.Januar 2017Suggestions:
- link each paragraph to a source
- write the full word (example: operations instead of ops)
- be consistent (example: 4-d,4-D, 4d) … use always the same
Corrections:
are working on develop or maintain a framework
are working on developing or maintaining a framework
In this wiki page, 2 frameworks TensorFlow and CNTK are introduced in detail, these 2 frameworks are wily used both in academia and industry.
On this wiki page, 2 frameworks TensorFlow and CNTK are introduced in detail, these 2 frameworks are widly used both in academia and industry.
overview
Overview
install Cuda toolkit and cuDNN. It is enough if you only install TensorFlow., but directly install TensorFlow.
install Cuda toolkit and cuDNN. It is enough if you install only TensorFlow.
In TensorFlow terminology, a Tensor is a typed multi-dimensional array
In TensorFlow terminology, a Tensor is a typed multidimensional array
which is 1 in the nth dimension. For example, 3 would be .
which is 1 in the nth dimension. For example, 3 would be [0,0,0,1,0,0,0,0,0,0]. This vector can’t be seen.
but there is no option to change the source conde from CNTK
but there is no option to change the source code from CNTK
The detailed installation steps for binary installation can be summarized as follows:
The detailed installation steps for binary installation can be summarized as follows:
Step 1: Download and prepare the Microsoft Cognitive Toolkit
Step 2: Prepare to run PowerShell scripts
Step 3: Run the Powershell installation script
Step 4: Update your GPU Driver
Step 5: Verify the setup from Python
Step 6: Verify the setup for BrainScript
commands are written in sqare brackets
commands are written in square brackets
I’m not sure by this one:
Implemented Activation Functions:
Sigmoid(x)
Tanh(x)
ReLU(x)
Softmax(x, axis=0)
LogSoftmax(x)
Hardmax(x)
I thought Softmax is a classification function and not a activation function.
Unbekannter Benutzer (ga69taq) sagt:
31.Januar 2017Hey Bo,
I am arranging the tree of the Wiki at the moment and i have 2 point I would like to change in your page if they are OK with you.
First one is; would it be fine for you if I rename your code pages (including your link names within your page) to "Example1", "Example2 etc. ?
Secondly, can we divide this page to a structure like this (as suggested by the original tree desing):
Introduction to CNN Tools (most common)
Tensorflow
CNTK
Please let me know as soon as possible so i can proceed with the changes and finalize the tree structure.
Unbekannter Benutzer (ga58zak) sagt:
31.Januar 2017Hello Can,
I am OK with that.
best
Bo
Unbekannter Benutzer (ga69taq) sagt:
31.Januar 2017I need you to stop editing the page for 15 minutes so I can divide and migrate it. Let me know when i can proceed and I will let you know when it's done.
Unbekannter Benutzer (ga58zak) sagt:
31.Januar 2017I will stop write it now.
Unbekannter Benutzer (ga69taq) sagt:
31.Januar 2017Done!
Please let me know what do you think and check the pages in general in case I made a mistake.