# Difference Between tf.Session() And tf.InteractiveSession() Functions in Python Tensorflow

• Last Updated : 30 Aug, 2022

In this article, we are going to see the differences between  tf.Session() and tf.InteractiveSession().

## tf.Session()

In TensorFlow, the computations are done using graphs. But when a graph is created, the values and computations are not defined. So a session is used to run the graph. The sessions place the graphs on targeted devices and execute them. It finally returns tensors. In tf.Session() we have to define the whole skeleton of the graph before the session is started.  The entire calculations have to be mentioned in the graph before the session is initialized. We use sess.run(tensor_name) to execute each computation.

Let us illustrate with the help of an example:

## Python3

 `# importing tensorflow ` `import` `tensorflow as tf   ` ` `  `# A computational graph creation ` `# in which we take two tensors ` `# and perform summation of two tensors ` ` `  `# defining constant tensors ` `x ``=` `tf.constant(``1``)   ` `y ``=` `tf.constant(``2``)   ` ` `  `# summation of two tensors ` `z ``=` `x``+``y   ` ` `  `with tf.Session() as sess: ` `    ``print``(sess.run(x))   ` `    ``print``(sess.run(y))  ` `    ``print``(sess.run(z))`

Output:

```1
2
3```

Explanation of the Code

In the above code, we create two tensors and define the addition operation. Then the session is defined and executed. Each computation is performed in the session. So first x and y are printed followed by a summation of x+y.

## tf.InteractiveSession()

This session is much more interactive. It allows us to create dynamic graphs. In this, first the session is created and then the computational graph is created. The computations are executed using eval() function. An interactive session installs itself as the default session. Let us illustrate the InteractiveSession with the help of an example:

## Python3

 `# Declaring tensorflow library ` `import` `tensorflow as tf   ` ` `  `# interactive session ` `sess ``=` `tf.InteractiveSession()   ` ` `  `# creation of tensors ` `x ``=` `tf.constant(``1``) ` `y ``=` `tf.constant(``2``) ` ` `  `# addition operation of tensors ` `z ``=` `x``+``y ` ` `  `print``(x.``eval``()) ` `print``(y.``eval``()) ` `print``(z.``eval``()) ` `sess.close() `

Output:

```1
2
3```

Explanation of the Code

In the above code, we first declare the interactive session and then the tensors.  However, we can define the tensors as well before calling the Interactive Session. Then we use eval function to evaluate each operation. Finally, we close the session.

## Table of Difference between tf.Session() and tf.InteractiveSession()

My Personal Notes arrow_drop_up
Related Articles