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()函数来关闭会话
#当上下文退出时会话关闭资源释放自动完成

  

原文地址:https://www.cnblogs.com/CZT-TS/p/11235121.html

时间: 2024-11-12 20:38:15

3.3 TensorFlow运行模型 ------- 会话的相关文章

TensorFlow 运行模型--会话(Session)

会话模式一: 需要明确调用会话生成函数和关闭函数 # 创建一个会话 sess = tf.Session() # 使用创建好的会话进行运算 sess.run("要运算的对象") # 关闭会话使本次运行使用的资源得以释放 sess.close() 会话模式二: 创建一个会话,并通过python上下文管理器管理会话 with tf.Session() as sess: sess.run(...) # 括号里是要运行的对象 # 计算结束后会自动关闭会话(仅能在with内部使用) 通过会话获取张

Tensorflow运行模型——会话

会话拥有并管理tensorflow程序运行时的所有资源.所有计算完成后需要关闭会话来帮组系统回收资源. 使用会话模式有两种: 但是,第一种方法有缺陷,所以直接给出下面这种 with tf.Session() as sess: #使用创建好的会话来计算关心的结果 sess.run(...) 从会话中取出变量 方法一: sess=tf.Session() with sess.as_default(): print(变量名.eval()) 方法二: sess=tf.Session() print(se

学习笔记CB014:TensorFlow seq2seq模型步步进阶

神经网络.<Make Your Own Neural Network>,用非常通俗易懂描述讲解人工神经网络原理用代码实现,试验效果非常好. 循环神经网络和LSTM.Christopher Olah http://colah.github.io/posts/2015-08-Understanding-LSTMs/ . seq2seq模型基于循环神经网络序列到序列模型,语言翻译.自动问答等序列到序列场景,都可用seq2seq模型,用seq2seq实现聊天机器人的原理 http://suriyade

原子电子运行模型

原子电子运行模型 在原子电子运行模型当中运用了模型变换以及栈知识,具体代码如下: // myOpengl.cpp : Defines the entry point for the console application. // #include "stdafx.h" // simpleGL.cpp : Defines the entry point for the console application. // #include <stdlib.h> #include &

ASP.NET在IIS 5/6上的运行模型(ISAPI)

IIS 5.X中的ASP.NET 实现了Web Server和ASP.NET App的分离. IIS作为Web Server运行在InetInfo.exe进程上.该进程是非托管的本地进程. ASP.NET App运行在aspnet_wp的Worker进程上.该进程初始化时会加载CLR,所以是一个托管进程. 通过创建虚拟目录将资源Host到IIS下,然后就可以通过IIS访问所有资源. Server会区分静态资源和动态资源. 对于静态资源的请求,不需要Server进行任何的处理,直接提取对应的文件作

tensorflow运行原理分析(源码)

tensorflow运行原理分析(源码)  https://pan.baidu.com/s/1GJzQg0QgS93rfsqtIMURSA 原文地址:https://www.cnblogs.com/liuzhongfeng/p/8778422.html

tensorflow机器学习模型的跨平台上线

在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法优化的PMML文件大多数时候很笨拙,因此本文我们专门讨论下tensorflow机器学习模型的跨平台上线的方法. 1. tensorflow模型的跨平台上线的备选方案 tensorflow模型的跨平台上线的备选方案一般有三种:即PMML方式,tensorflow serving方式,以及跨语言API方

Tensorflow Learning1 模型的保存和恢复

CKPT->pb Demo 解析 tensor name 和 node name 的区别 Pb 的恢复 CKPT->pb tensorflow的模型保存有两种形式: 1. ckpt:可以恢复图和变量,继续做训练 2. pb : 将图序列化,变量成为固定的值,,只可以做inference:不能继续训练 Demo 1 def freeze_graph(input_checkpoint,output_graph): 2 3 ''' 4 :param input_checkpoint: 5 :para

[书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型

本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. 本书第一章我们探讨了JavaScri