• Python.org. Source: TensorFlow.org, 2017.
  • Machine Learning Comparison. Source: Machine Learning Frameworks Comparison, 2016.

Tensorflow

Improve this article. Show messages.

Summary

Python.org. Source: TensorFlow.org, 2017.

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) that flow between them.

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. The system is general enough to be applicable in a wide variety of other domains, as well.

This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.

TensorFlow also includes TensorBoard, a data visualization toolkit.

Discussion

  • What are the platforms and languages TensorFlow supports?

    TensorFlow is available on 64-bit Linux, macOS, Windows and also on the mobile computing platforms like Android and iOS. Google has announced a software stack specifically for Android development called TensorFlow Lite.

    TensorFlow has APIs available in the following languages: Python, C++, Java, Go. At present, Python API is the recommended to be used. TensorFlow Python APIs can be invoked from both Python2 and Python3. Also TensorFlow APIs are provided as bindings for C#, Haskell, Julia, Ruby and Rust. The TensorFlow package also provides access to the complete TensorFlow API from within R.

  • Can you name some example applications in which TensorFlow is being used?

    TensorFlow is being used by Google in following areas:

    1. RankBrain - Google search engine.

    2. SmartReply - Deep LSTM model to automatically generate email responses.

    3. Massively Multitask Networks for Drug Discovery - A deep neural network model for identifying promising drug candidates.

    4. On-Device Computer Vision for OCR - On-device computer vision model to do optical character recognition to enable real-time translation.

    Apart from Google, various companies that are using TensorFlow in their applications include ARM, AIRBNB, AIRBUS, DROPBOX, EBAY, INTEL, MI, SAP, SNAPCHAT, TWIITER, UBER, etc.

  • How TensorFlow is different from other Machine Learning Platforms?
    Machine Learning Comparison. Source: Machine Learning Frameworks Comparison, 2016.

    TensorFlow is relatively painless to setup and offers tutorials aimed at beginners that cover the theoretical underpinnings and practical application of neural networks.

    TensorFlow is slower than Theano and Torch but this is currently being addressed head on by Google and the open source community.

    TensorBoard is TensorFlow's visualization module which provides an intuitive view of your computation pipeline. Keras, a deep-learning library, was recently ported to run on TensorFlow which means any model written in Keras can now run on TensorFlow. Finally, it's worth mentioning that TensorFlow can run on a wide variety of hardware.

    • GPU acceleration: Yes
    • Languages/interfaces: Python, Numpy, C++
    • Platform: Cross platform

  • How is Tensor Processing Unit (TPU) linked with TensorFlow?

    Google has stated the second generation TPUs will be available on the Google Compute Engine for use in TensorFlow applications. However, Google has not disclosed if TensorFlow algorithms are hardwired in TPU or if TPU is a generic accelerator for ML.

Sample Code

  • # Source: https://www.TensorFlow.org/get_started/get_started; Accessed 2017-07-09.
     
    import numpy as np
    import TensorFlow as tf
     
    # Model parameters
    W = tf.Variable([.3], dtype=tf.float32)
    b = tf.Variable([-.3], dtype=tf.float32)
    # Model input and output
    x = tf.placeholder(tf.float32)
    linear_model = W * x + b
    y = tf.placeholder(tf.float32)
    # loss
    loss = tf.reduce_sum(tf.square(linear_model - y)) # sum of the squares
    # optimizer
    optimizer = tf.train.GradientDescentOptimizer(0.01)
    train = optimizer.minimize(loss)
    # training data
    x_train = [1,2,3,4]
    y_train = [0,-1,-2,-3]
    # training loop
    init = tf.global_variables_initializer()
    sess = tf.Session()
    sess.run(init) # reset values to wrong
    for i in range(1000):
      sess.run(train, {x:x_train, y:y_train})
     
    # evaluate training accuracy
    curr_W, curr_b, curr_loss = sess.run([W, b, loss], {x:x_train, y:y_train})
    print("W: %s b: %s loss: %s"%(curr_W, curr_b, curr_loss))

References

  1. Devopedia. 2017. Tensor Processing Unit. April 11. Accessed 2017-07-09.
  2. Machine Learning Frameworks Comparison. 2016. "Machine Learning Frameworks Comparison" which-ml-framework-should-i-use. November 16. Accessed 2016-11-11.
  3. TensorFlow. 2017a. TensorFlow API Documentation. April 26. Accessed 2017-07-09.
  4. TensorFlow. 2017b. "TensorFlow About" TensorFlow Github. July 17. Accessed 2017-07-07.
  5. TensorFlow Lite. 2017. Google’s new machine learning framework is going to put more AI on your phone - The Verge. May 17. Accessed 2017-07-09.
  6. TensorFlow Usecase. 2017. "TensorFlow Usecase" TensorFlow Github. February 17. Accessed 2017-02-07.
  7. TensorFlow for R. 2017. R API GitHub. July 09. Accessed 2017-07-09.
  8. TensorFlow.org. 2017. TensorFlow Home. July 09. Accessed 2017-07-09.

Milestones

2011

Starting by Google Brain in the name of DistBelief

Nov
2015

TensorFlow is Google Brain's second generation machine learning system, released as open source software on November 9, 2015.

Apr
2016

Announcing TensorFlow 0.8 – now with distributed computing support!

May
2016

In May 2016 Google announced its tensor processing unit (TPU), a custom ASIC built specifically for machine learning and tailored for TensorFlow

Jun
2016

TensorFlow v0.9 now available with improved mobile support

Aug
2016

Syntax for 40 languages, plus new SyntaxNet capabilities is being added along with Text summarization.

Feb
2017

Announcing TensorFlow 1.0

May
2017

In May 2017 Google announced a software stack specifically for Android development, TensorFlow Lite,[13] beginning with Android version O.

Jun
2017

TensorFlow 1.2 has arrived!

Tags

See Also

Top Contributors

Last update: 2017-07-09 14:36:53 by arvindpdmn
Creation: 2017-07-09 11:25:55 by ashish2702

Article Stats

807
Words
1
Chats
3
Authors
4
Edits
0
Likes
251
Hits
BETA V0.10