Tensorflow——会话

来源:互联网 发布:移动办公软件下载 编辑:程序博客网 时间:2024/05/16 14:42

Tensorflow中的会话是来执行定义好的运算的。会话拥有并管理Tensorflow程序运行时的所有资源。当计算完成之后需要关闭会话来帮助系统回收资源,否则可能出现资源泄露的问题。
Tensorflow中使用会话的模式一般有两种,第一种模式需要明确调用会话生成函数和关闭会话函数,流程如下:
这里写图片描述
使用这种模式时,所有计算完成后,需要明确调用Session.close()函数关闭会话并释放资源。然而当程序因为异常而退出时,关闭会话的函数可能就不会被执行而导致资源泄露。为了解决异常退出导致资源泄露的问题,Tensorflow可以通过Python的上下文管理器来使用会话。
这里写图片描述

通过Python的上下文管理器的机制,只要所有的计算放在with的内部就可以。当上下文管理器退出时会自动释放所有资源。

Tensorflow会自动生成一个默认的图,如果没有特殊指定,运算会自动加入这个计算图。Tensorflow的会话也有这个机制,但Tensoflow不会自动生成默认的会话,而是需要手动指定。当默认的会话被指定之后可以通过tf.Tensor.eval函数来计算一个张量的取值。
这里写图片描述

在交互式环境下,通过设置默认会话的方式来获取张量的取值更加方便。所以Tensoflow提供了一种在交互式环境下直接构建默认会话的函数。那就是tf.InteractiveSession()函数,使用这个函数会自动将生成的会话注册成为默认会话
这里写图片描述

原创粉丝点击