TensorFlow™ is an open source software library for machine learning in various kinds of perceptual and language understanding tasks using data flow graphs. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. 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. It is currently used for both research and production by 50 different teams in dozens of commercial Google products, such as speech recognition, Google Photos, Google Search, and Gmail.

What is TensorFlow?

TensorFlow is a programming system in which you represent computations as graphs. Nodes in the graph are called ops(short for operations). An op takes zero or more Tensors, performs some computation, and produces zero or moreTensors. In TensorFlow terminology, a Tensor is a typed multi-dimensional array. For example, you can represent a mini-batch of images as a 4-D array of floating point numbers with dimensions [batch, height, width, channels].

A TensorFlow graph is a description of computations. To compute anything, a graph must be launched in a Session. A Session places the graph ops onto Devices, such as CPUs or GPUs, and provides methods to execute them. These methods return tensors produced by ops as numpy ndarray objects in Python, and as tensorflow::Tensor instances in C and C++.

Why TensorFlow?

Deep Flexibility
TensorFlow isn't a rigid neural networks library. If you can express your computation as a data flow graph, you can use TensorFlow. You construct the graph, and you write the inner loop that drives computation. TensorFlow provides helpful tools to assemble subgraphs common in neural networks, but users can write their own higher-level libraries on top of TensorFlow. Defining handy new compositions of operators is as easy as writing a Python function and costs you nothing in performance. And if you don't see the low-level data operator you need, write a bit of C++ to add a new one.

True Portability
TensorFlow runs on CPUs or GPUs, and on desktop, server, or mobile computing platforms. For instance, you can play around with a machine learning idea on your laptop without need of any special hardware. You can also scale-up and train your model faster on GPUs with no code changes and deploy your trained model on mobile as part of your product.

Connect Research and Production
Using TensorFlow allows industrial researchers to push ideas to products faster, and allows academic researchers to share code more directly and with greater scientific reproducibility. With TensorFlow, you no longer need to do a major rewrite when moving a machine learning idea from research to product.

Gradient-based machine learning algorithms will benefit from TensorFlow's automatic differentiation capabilities. As a TensorFlow user, you define the computational architecture of your predictive model, combine that with your objective function, and just add data — TensorFlow handles computing the derivatives for you. Computing the derivative of some values w.r.t. other values in the model just extends your graph, so you can always see exactly what's going on.

Language Options
TensorFlow comes with an easy to use Python interface and a no-nonsense C++ interface to build and execute your computational graphs. Write stand-alone TensorFlow Python or C++ programs, or try things out in an interactive TensorFlow iPython notebook where you can keep notes, code, and visualizations logically grouped.

Who is TensorFlow for?

TensorFlow is for everyone. It's for students, researchers, hobbyists, hackers, engineers, developers, inventors and innovators and is being open sourced under the Apache 2.0 open source license.

Exxact TensorFlow Supported Solutions

Exxact Deep Learning GPU Solutions are powered by the leading hardware, software, and system engineering. With pre-installed TensorFlow, as well as other leading deep machine learning software packages, Exxact Deep Learning GPU Solutions are fully turn-key and designed for rapid development and deployment of optimized deep neural networks with multiple GPUs.

TensorFlow Examples and Applications

Image Recognition:

The process of identifying and detecting an object or a feature in a digital image or video using neural networks.

On-Device Computer Vision for Optical Character Recognition:

On-device computer vision model to do optical character recgonition to enable real-time translation.

Email SmartReply:

A deep neural network that can automatically determine whether an email was answerable with a short reply and generate suitable email responses that could be editable or sent with just a tap.