当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.Session用法及代码示例


用于运行 TensorFlow 操作的类。

用法

tf.compat.v1.Session(
    target='', graph=None, config=None
)

参数

  • target (可选。)要连接的执行引擎。默认使用in-process 引擎。看分布式 TensorFlow更多示例。
  • graph (可选。)要启动的Graph(如上所述)。
  • config (可选。)带有会话配置选项的ConfigProto 协议缓冲区。

属性

  • graph 在此会话中启动的图表。
  • graph_def 底层 TensorFlow 图的可序列化版本。
  • sess_str 此会话将连接到的 TensorFlow 进程。

迁移到 TF2

警告:这个 API 是为 TensorFlow v1 设计的。继续阅读有关如何从该 API 迁移到本机 TensorFlow v2 等效项的详细信息。见TensorFlow v1 到 TensorFlow v2 迁移指南有关如何迁移其余代码的说明。

Session 不适用于即刻执行或 tf.function ,您不应直接调用它。要将使用会话的代码迁移到 TF2,请在没有会话的情况下重写代码。请参阅有关替换 Session.run 调用的迁移指南。

Session 对象封装了执行Operation 对象和评估Tensor 对象的环境。例如:

tf.compat.v1.disable_eager_execution() # need to disable eager in TF2.x
# Build a graph.
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b

# Launch the graph in a session.
sess = tf.compat.v1.Session()

# Evaluate the tensor `c`.
print(sess.run(c)) # prints 30.0

会话可能拥有资源,例如 tf.Variabletf.queue.QueueBasetf.compat.v1.ReaderBase 。当不再需要这些资源时,释放这些资源很重要。为此,请在会话上调用tf.Session.close 方法,或将会话用作上下文管理器。下面两个例子是等价的:

# Using the `close()` method.
sess = tf.compat.v1.Session()
sess.run(...)
sess.close()

# Using the context manager.
with tf.compat.v1.Session() as sess:
  sess.run(...)

ConfigProto 协议缓冲区公开了会话的各种配置选项。例如,要创建使用软约束进行设备放置的会话并记录生成的放置决策,请按如下方式创建会话:

# Launch the graph in a session that allows soft device placement and
# logs the placement decisions.
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(
    allow_soft_placement=True,
    log_device_placement=True))

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.Session。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。