Page tree
Skip to end of metadata
Go to start of metadata

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. 

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

7 Comments

  1. Unknown User (ga25gux)

    Hi, 

    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.

  2. Unknown User (ga25ked)

    Suggestions:
    - 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:

    1. Step 1: Download and prepare the Microsoft Cognitive Toolkit
    2. Step 2 Prepare to run PowerShell scripts
    3. Step 3 Run the Powershell installation script
    4. Step 4 Update your GPU Driver
    5. Step 5 Verify the setup from Python
    6. Step 6: Verify the setup for BrainScript

     

    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.

     

     

  3. Unknown User (ga69taq)

    Hey 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)

    1. Tensorflow 

    2. CNTK 

    Please let me know as soon as possible so i can proceed with the changes and finalize the tree structure.

    1. Unknown User (ga58zak)

      Hello Can,

      I am OK with that.

      best

      Bo

  4. Unknown User (ga69taq)

    I 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.

    1. Unknown User (ga58zak)

      I will stop write it now.

       

      1. Unknown User (ga69taq)

        Done!

        Please let me know what do you think and check the pages in general in case I made a mistake.