What is TensorFlow?

ODSC - Open Data Science
3 min readApr 25, 2019

--

It would be a challenge nowadays to find a machine learning engineer who has heard nothing about TensorFlow. Initially created by Google Brain team for some internal purposes, such as spam filtering on Gmail, it was open-sourced in 2015 and became the most popular deep learning framework in the next few years.

Tensorflow is often used for solving deep learning problems and for training and evaluating processes up to the model deployment. Apart from machine learning purposes, TensorFlow can be also used for building simulations, based on partial derivative equations. That’s why it is considered to be an all-purpose tool for machine learning engineers.

[Related Article: 10 Best Data Science Platforms]

In order to increase productivity, the TensorFlow backend was written in the C++ language, which performs incredibly fast. However, the API is available in both C++ and Python, the most widely-used language for machine learning, and also in other languages such as Java, Go, Haskell, JavaScript, Swift, and more.

TensorFlow’s large and continuously-growing following has contributed to the creation of Tensorflow bindings for languages including Julia, C#, Haskell, and Ruby. TensorFlow has also been adapted to run on different platforms; besides Linux, macOS, and Windows, you can use Tensorflow models on iOS, Android, and Raspberry Pi.

The biggest benefit of TensorFlow is that it allows the use of different level APIs to get to the needed degree of abstraction. For example, creating new models with the high-level Estimators API, which is useful for training, prediction, and deployment functions. However, low-level API gives more freedom for experiments with the model architecture or hyperparameters.

[Related Article: The Five Best Frameworks for Data Scientists]

TensorFlow performs mathematical operations on large multidimensional arrays of numbers, which can be generalized as tensors. For example, the tensor of zero-shape is a number, while tensor of shape 1 is a vector and tensor of shape 2 is a matrix, and so on.

To better understand how TensorFlow works, imagine a directed graph with tensors on its edges, and nodes represented as mathematical operations between tensors. Computations on this graph are executed within sessions. Such abstraction derives from the low-level programming concept called “lazy evaluation” where data and operations are initiated and then computed through the session. This approach allows using CPU along with GPU as well as multiple GPUs for parallel computations, which make all the processes, especially training, significantly faster.

Read more data science articles on OpenDataScience.com, including tutorials and guides from beginner to advanced levels! Subscribe to our weekly newsletter here and receive the latest news every Thursday.

--

--

ODSC - Open Data Science
ODSC - Open Data Science

Written by ODSC - Open Data Science

Our passion is bringing thousands of the best and brightest data scientists together under one roof for an incredible learning and networking experience.

No responses yet