TensorFlow - Session()和Session(Graph()之间的差异)

时间:2018-06-11 16:17:53

标签: tensorflow

要使用TensorFlow运行程序,我们必须声明一个会话。

那么$(date -u +"%H%M%S" | cut -c 1-5)0sess = Session()之间有什么区别?

这是sess = Session(Graph())是什么?

2 个答案:

答案 0 :(得分:3)

在Tensorflow中设计模型时,基本上有两个步骤

  1. 构建计算图,节点和操作以及如何 他们相互联系
  2. 评估/运行此图表 一些数据
  3. Session对象封装了执行Operation对象的环境,并评估了Tensor对象。例如:

    # Launch the graph in a session.
    sess = tf.Session()
    
    # Evaluate the tensor `c`.
    print(sess.run(c))
    

答案 1 :(得分:0)

在TensorFlow中设计model时需要承担以下两个部分:

构建,代表计算的数据流。

运行会话,执行图中的操作。

通常情况下,可以有多个图和多个会话。 但是总会有一个default graph和一个default session

在这种情况下,sess = Session()将采用默认会话:

  

如果在构造会话时未指定任何图参数,则将在会话中启动默认图。

sess = Session(Graph())会假定您正在使用多个图形。

  

如果您在同一过程中使用多个图(通过tf.Graph()创建的图),则每个图必须使用不同的会话,但是每个图都可以在多个会话中使用。将要显式启动的图传递给会话构造函数通常更清楚。