This is part 1 of tensorflow series. The goal of every single article is to make you understand one of the most popular deep learning library out there. This series is entirely focused on beginners, who are either starting to learn deep learning and want to built their own neural nets or want to build state-of-the-art neural network’s in tensorflow. This series of article will specifically covers basics of tensorflow for python, there is another version of tensorflow.js for javascript developers but that will be covered in next series.In last part of the series we will be building a MLP for MNIST dataset using tensorflow.

After reading this article you will know,

- Some history, as how it all got started
- why name tensorflow
- overall workflow of model while using tensorflow

**Where it all got started**

Google was one the companies which acknowledge the power of deep neural nets long before, so in 2011 the company established a division in 2011 for AI research and development and their mission as they states is* ” to make machines intelligent and improve people’s lives” . *It was a part time research collaboration between Jeff Dean, Greg Corrado, and Andrew Ng. They built a machine learning system called DistBelief which can be used to built model on top of it, which later started to be called tensorflow. This library enables AI developers to run machine learning models not just on single cpu but on multiple cpu’s and gpu’s, due to this fact it became highly popular in google. The company released this library under apache 2.0 opensource license in 2015 for the developers all around the globe to use it, since then tensorflow has become one of the most popular choices for developing deep learning models.

**Why name ” Tensorflow “**

if you followed my Linear algebra series, chances are you are already familiar with linear algebra objects known as tensors, the multi dimensional arrays used to represents certain multi-dimensional data points. If you have read MLP article, then you know a deep neural networks is just series of matrix multiplication followed by some non-linear activation, so the first part of the name “Tensor” is obviously named after the linear algebra objects tensors and the second part “flow” comes from the fact that there is a forward flow of matrix multiplication and a backward flow of updating weights in neural network. The above explanation is kind of vague explanation of the name, clear motivation behind the name is not exactly mentioned anywhere.

**Workflow of a tensorfow model**

The working of a tensorflow model is quite simple but due to the fact that using tensorflow you can control each and every minute detail of model, as a result the code becomes large and complicated.

The basic workflow of a tensorflow model,

- initialize all the placeholders : You can thought placeholders as variables in tensorflow environment, but they are much more than just variables.Placeholders are modifiable tensor that lives in TensorFlow’s graph
- create a tensorflow session: You can thought of session as the starting point of tensorflow model execution
- define loss function
- define other details of model like batch size or optimization algorithm for optimizing loss function.

If you are still unfamiliar how these parts of the model link together then don’t worry, we will all cover in this series . In the next part of this series we will cover some special functions which we will be using for building our model.

For part 2 click here.