3.3 TensorFlow运行模型 ------- 会话

  会话拥有并管理TensorFlow程序运行时的所有资源。当计算完成后需要关闭会话来帮助系统回收资源,否则就可能出现资源泄漏的问题。

  TensorFlow中使用的会话模式一般有梁总,第一种模式需要明确调用会话生成函数和关闭会话函数,代码流程如下:

#创建一个会话
sess = tf.Session()
#使用这个创建好的会话得到关心的运算的结果
sess.run(....)
#关闭会话使得本次运行中使用到的资源得以释放
sess.close()

  上述方法计算完成时,需要明确调用Session.close函数来关闭会话并释放资源。但是,当程序因为异常退出时,关闭会话的函数可能不被执行从而导致内存泄漏。为了解决异常退出时资源释放的问题,TensorFlow可以通过Python的上下文管理器来使用会话。以下所示:

#创建一个会话,并通过Python中的上下文管理器来管理这个会话
with tf.Session() as sess:
    sess.run(...)
#不需要盗用Session.close()函数来关闭会话
#当上下文退出时会话关闭资源释放自动完成

  

posted @ 2019-07-23 23:09  陈辻柒  阅读(157)  评论(0编辑  收藏  举报