Table of contents

When starting Tensorflow (TF), many may find that the result cannot be obtained immediately. Rather, you must use a session or interactive session.

TensorFlow uses a

Tensorflow Coredataflow graphto represent your computation in terms of the dependencies between individual operations. This leads to a low-level programming model in which you first define the dataflow graph, then create a TensorFlowsessionto run parts of the graph across a set of local and remote devices.

### GRAPH Dataflow

Dataflow (DF) is a common programming model for parallel computing. It models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture.

In the figure, it demonstrates the perfect use of dataflow in a neural network.

DF graph, like other graphs, contains **nodes **and **edges**. Most TensorFlow programs start with a dataflow graph construction phase. In this phase, you invoke TensorFlow API functions that construct new **tf.Operation**** (node)** and **tf.Tensor**** (edge)** objects and add them to a `tf.Graph`

instance.

### Session

TensorFlow uses the `tf.Session`

class to represent a connection between the client program. A `tf.Session`

object provides access to devices in the local machine, and remote devices using the distributed TensorFlow runtime.

The `tf.Session.run`

method is the main mechanism for running a `tf.Operation`

or evaluating a `tf.Tensor`

.

**It means you get the tf.Operation via tf.Session.run (or eval).**

### Demo graph and session with python

In this section, we will not use any TensorFlow operations. Instead, we create a graph and operations, e.g. add, *multiply*, *matmul*, like using pure python.

Below is the jupyter notebook.