# Understanding Session and Graph

Created at 2017-07-14 Updated at 2017-11-03 Tag TensorFlow

The first time when I learned TensorFlow, I was confused by Session and Graph. After Googling for a while, I knew that

• Graph defines operations in your applicaion, it defines computation and has nothing to do with data.
• When running the Graph by session, dimensions and type of values will be checked and errors will be raised when there are some bugs in the Graph.
• To run the Graph, one must feed the data.

And Session, in my view is Conversation— you need a talk with the Graph and tell the Graph what you want, so in order to expel the Graph to conduct computation, you should plugin the fuel— feed_dict and run the Graph to get get the value you want defined in the Graph— to call sess.run([values you want], feed_dict).

And if you use with — the conext manager in your session, every time you should initialize variables in the Graph. Multiple sessions and multiple graphs can be defined and you can use sessions to call different graphs.

Everytime when a session is created, one must set a graph defined before or use the defult graph.

Since the graph of sess_1 is graph_1 and init_graph_2 is defined in graph_2, so sess_1 can’t run init_graph_2. And the same as values defined in the Graphs!

And you can also use InteractiveSession to run the Graph.

OK, that all my understadings. Session is a Conversation to communicate with the Graph, Graph is a computation paradigm!

## Table of Content

Site by GoingMyWay using Hexo & Random

I am a ML and RL research student

Hide