# What is TensorFlow?

Nowadays we keep hearing the name “TensorFlow” which make some of us ponder like —

- What is TensorFlow?
- Where do we use it?

So, in this short blog, I will be discussing regarding general details for beginners.

As the name suggests in layman’s terms, “**TensorFlow is flow of Tensors”**!

TensorFlow takes input as a multi-dimensional array, also known as **tensors**. You can construct a sort of flowchart of operations (called a Graph) that you want to perform on that input. The input goes in at one end, and then it flows through this system of multiple operations and comes out the other end as output.

This is why it is called TensorFlow because the tensor goes in it flows through a list of operations, and then it comes out the other side.

But, it’s actually defined as — **TensorFlow is an end-to-end open source platform for machine learning**.

# History of TensorFlow

TensorFlow was developed by the Google Brain team for internal Google use in research and production. The initial version was released under the Apache License 2.0 in 2015. Google released the updated version of TensorFlow, named TensorFlow 2.0, in September 2019.

TensorFlow can be used in a wide variety of programming languages, most notably Python, as well as JavaScript, C++, and Java. This flexibility lends itself to a range of applications in many different sectors.

TensorFlow supports:-

- Multi-dimensional array based numeric computation
- GPU and distributed processing
- Automatic differentiation
- Model construction, training and export

# How TensorFlow Works

TensorFlow enables you to build dataflow graphs and structures to define how data moves through a graph by taking inputs as a multi-dimensional array called Tensor. It allows you to construct a flowchart of operations that can be performed on these inputs, which goes at one end and comes at the other end as output.

# TensorFlow Architecture

TensorFlow architecture works in three parts:

- Preprocessing the data
- Build the model
- Train and estimate the model

# Where can Tensorflow run?

TensorFlow hardware, and software requirements can be classified into:-

Development Phase: This is when you train the mode. Training is usually done on your Desktop or laptop.

Run Phase or Inference Phase: Once training is done TensorFlow can be run on many different platforms. You can run it on

- Desktop running Windows, macOS or Linux

2. Cloud as a web service

3. Mobile devices like iOS and Android

You can train it on multiple machines then you can run it on a different machine, once you have the trained model.

# Tensor

Now what are Tensors?

Tensors are nothing but multi-dimensional arrays represented as,

**tf.Tensor**

If you’re familiar with NumPy, tensors are (kind of) like `np.arrays`

.

All tensors are immutable like Python numbers and strings: you can never update the contents of a tensor, only create a new one.

# Why is TensorFlow Popular?

TensorFlow is the best library of all because it is built to be accessible for everyone. TensorFlow library incorporates different API to built at scale deep learning architecture like CNN or RNN. TensorFlow is based on graph computation; it allows the developer to visualize the construction of the neural network with Tensorboad. This tool is helpful to debug the program. Finally, TensorFlow is built to be deployed at scale. It runs on CPU and GPU.

TensorFlow attracts the largest popularity on GitHub compared to the other deep learning framework.

So, I hope that this blog helped you get basic understanding of TensorFlow.

I will be making more blogs regarding basics of TensorFlow.

You can also refer to the guide and tutorials on official TensorFlow website.

**https://www.tensorflow.org/guide**

Stay tuned for more!