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?


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.


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.


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.


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.

TensorFlow Examples and Applications


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


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


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.

Exxact Deep Learning GPU Solutions

Our deep learning GPU solutions are powered by the leading hardware, software, and systems engineering. Each system comes with our pre-installed deep learning software stack and are fully turnkey to run right out of the box.