TensorFlow

TensorFlow


TensorFlow

What is TensorFlow

TensorFlow is an open source software library for machine learning across a range of tasks, and developed by Google to meet their needs for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use. It is currently used for both research and production at Google products,‍:min 0:15/2:17 :p.2 :0:26/2:17 often replacing the role of its closed-source predecessor, DistBelief. TensorFlow was originally developed by the Google Brain team for internal Google use before being released under the Apache 2.0 open source license on November 9, 2015.

Developer(s) – Google Brain Team
Initial release – November 9, 2015; 18 months ago
Stable release – 1.0 / February 15, 2017; 3 months ago
Repository – github.com/tensorflow/tensorflow
Development Status – Active
Written in – Python, C++, CUDA
Platform – Linux, macOS, Windows, Android
Type – Machine learning library
License – Apache 2.0 open source license
Website – www.tensorflow.org

History

DistBelief

Starting in 2011, Google Brain built DistBelief as a proprietary, machine learning system, based on deep learning neural networks. Its use grew rapidly across diverse Alphabet companies in both research and commercial applications. Google assigned multiple computer scientists, including Jeff Dean, to simplify and refactor the codebase of DistBelief into a faster, more robust application-grade library, which became TensorFlow. In 2009, the team, led by Geoffrey Hinton, had implemented generalized backpropagation and other improvements which allowed generation of neural networks with substantially higher accuracy, for instance a 25% reduction in errors in speech recognition.

TensorFlow

TensorFlow is Google Brain’s second generation machine learning system, released as open source software on November 9, 2015. While the reference implementation runs on single devices, TensorFlow can run on multiple CPUs and GPUs (with optional CUDA extensions for general-purpose computing on graphics processing units). TensorFlow is available on 64-bit Linux, macOS, Windows, and mobile computing platforms including Android and iOS.

TensorFlow computations are expressed as stateful dataflow graphs. The name TensorFlow derives from the operations which such neural networks perform on multidimensional data arrays. These multidimensional arrays are referred to as “tensors”. In June 2016, Google’s Jeff Dean stated that 1,500 repositories on GitHub mentioned TensorFlow, of which only 5 were from Google.

Tensor processing unit (TPU)

In May 2016 Google announced its tensor processing unit (TPU), a custom ASIC built specifically for machine learning and tailored for TensorFlow. The TPU is a programmable AI accelerator designed to provide high throughput of low-precision arithmetic (e.g., 8-bit), and oriented toward using or running models rather than training them. Google announced they had been running TPUs inside their data centers for more than a year, and have found them to deliver an order of magnitude better-optimized performance per watt for machine learning.

In May 2017 Google announced the second-generation of the TPU, as well as the availability of the TPUs in Google Compute Engine. The second-generation TPUs deliver up to 180 teraflops of floating-point performance, and when organized into clusters of 64 TPUs provide up to 11.5 petaflops.

TensorFlow Lite

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

Features

TensorFlow provides a Python API, as well as C++, Haskell, Java, Go, and Rust APIs.

Applications

Among the applications for which TensorFlow is the foundation, are automated image captioning software, such as DeepDream. Google officially implemented RankBrain on 26 October 2015, backed by TensorFlow. RankBrain now handles a substantial number of search queries, replacing and supplementing traditional static algorithm based search results.

—————————————————————————————————————————————–

How Long It Takes To Learn TensorFlow

It depends on whether you know Python, deep learning and some other deep learning framework already or not. If you know all these, then it shouldn’t take more than a couple of days to get a reasonable command over Tensorflow. Here’s a tutorial that I found really helpful:

aymericdamien/TensorFlow-Examples

If you do know Python, but don’t have experience working in any deep learning framework, it might take you a little longer — maybe a week. Then you should consult both, the above tutorial, and the Tensorflow official tutorial.

Finally, if we are talking about someone who doesn’t have experience working in Python, then it can easily take much longer.


What Is The Potential Of The TensorFlow

As Google writes on its blog: “TensorFlow is faster, smarter, and more flexible than our old system (DistBelief), so it can be adapted much more easily to new products and research.”

Stanford University researcher Andrej Karpathy recently built an AI system capable of looking at 2 million selfies and figuring out which ones are most likely to get a lot of love. Karpathy noted that the only tools available to developers for deep learning projects, such as Theano, are grown out of graduate students’ side projects.

“TensorFlow is the first serious implementation of a framework for Deep Learning, backed by both very experienced and very capable team at Google,” Karpathy wrote in an email to Tech Insider.

Jon Van Oast is a senior engineer for nonprofit WildMe, which compiles photos of different species of animals for research purposes.

The project began by collecting photos of Whale Sharks. Each Whale Shark has a unique configuration of spots, which allows you to identify one from another. WildMe uses a machine learning system called AdaBoost that allows researchers to upload a photo of a Whale Shark and see if there is a match for it already in the system.

If the system finds a match, the researcher now has more information about that whale’s life, such as where it was previously located. WildMe has extended from that original purpose to sort through other species of wildlife as well.

Van Oast told Tech Insider that he thinks TensorFlow could help sort through more images at a faster rate, providing researchers with more information.

“It’s a way to look at a big set of data where humans can’t discern what’s important in it,” he said.

Delip Rao, who consults with startups on machine learning and is a former engineer for Twitter, told Tech Insider that you could use TensorFlow to build natural language processing systems, such as an intelligent messenger similar to Facebook’s virtual assistant M. He said he’s exploring of how he would use TensorFlow, but thinks it looks promising.