- A numerical computation library well suited for deep learning applications.
- Modular and actively maintained.
- Allows parallelization and efficient usage of available hardware. Supports distributed computing.
- Powers many of Google’s large-scale services, including Search, Photos, Cloud Speech etc.
- Comes with a great visualization tool called Tensorboard.
- Easy to install, with PIP:
**pip3 install –upgrade tensorflow**

import tensorflow as tf # Declare variables (with initial values) x = tf.Variable(3, name='x') y = tf.Variable(4, name='y') # Function (i.e. graph) to compute f = (x * x * y) + y + 2 ''' Till this point no actual computation will be done if we run the code, we just have declared a computation graph. Even the variables are not acutally initialized yet. Let's start the computation using a tensorflow session! ''' # Create session sess = tf.Session() # Initialize variables sess.run(x.initializer) sess.run(y.initializer) # Evaluate result result = sess.run(f) print(result)

- When we define a graph node, e.g. f = (x * x * y) + y + 2, Tensorflow doesn’t compute the value of
*f*immediately, it just knows how to compute it. This is the**basic principle of Tensorflow**(i.e., separation of declaration and execution). - Tensorflow graphs are computed under a session, and are needed to be explicitly run with session.run() function. A session is an isolated environment which hold the state of variables and graphs being computed. If a new session is created, the previous values are cleared up (except in distributed computing).
- Tensorflow variables and graphs require explicit declaration.