tensorflow 会话实际上是什么?

What is a tensorflow session actually?

下面引用tensorflow入门的那句话是什么意思?

A session encapsulates the control and state of the TensorFlow runtime.

我知道面向对象编程中的封装,也成功地使用了会话。我仍然不太明白这句话。谁能用简单的词改写一下?

这种封装与OOP封装无关。 session 文档中有更好的定义(就新手的理解而言)。

A Session object encapsulates the environment in which Operation objects are executed, and Tensor objects are evaluated.

这意味着none graph-definition 部分中定义的运算符和变量正在执行。例如这里什么都没有executed/calculated

a = tf.Variable(tf.random_normal([3, 3], stddev=1.)
b = tf.Variable(tf.random_normal([3, 3], stddev=1.)
c = a + b

您现在不会获得张量的值a/b/c。这些值将仅在会话内部进行评估。

像大理说的,封装与OOP封装无关。

the control and state of the TensorFlow runtime

控件: TensorFlow 图是对计算的描述。要计算任何东西,必须在会话中启动图形。

state: Session 将图形操作放置到设备上,例如 CPU 或 GPU,并提供执行它们的方法。这些方法 return ops 生成的张量在 Python 中作为 numpy ndarray 对象,在 C 和 C++ 中作为 tensorflow::Tensor 实例。