TensorFlow基础——常用函数(三)

Tensorflow一些常用基本概念与函数(三)

摘要:本系列主要对tf的一些常用概念与方法进行描述。本文主要针对tensorflow的数据IO、图的运行等相关函数进行讲解。为‘Tensorflow一些常用基本概念与函数’系列之三。

1、序言

本文所讲的内容主要为以下相关函数:


操作组


操作


Data IO (Python functions)


TFRecordWrite,rtf_record_iterator


Running Graphs


Session management,Error classes

2、tf函数

2.1 数据IO {Data IO (Python functions)}

一个TFRecords 文件为一个字符串序列。这种格式并非随机获取,它比较适合大规模的数据流,而不太适合需要快速分区或其他非序列获取方式。

数据IO {Data IO (Python functions)}


操作


描述


class tf.python_io.TFRecordWriter


一个用于将记录(records)写入TFRecords文件的类


tf.python_io.TFRecordWriter.__init__(path, options=None)


打开文件路径,并创建一个TFRecordWriter以供写入


tf.python_io.TFRecordWriter.write(record)


将一个字符串records写入文件中


tf.python_io.TFRecordWriter.close()


关闭文件


tf.python_io.tf_record_iterator(path, options=None)


从TFRecords文件中读取记录的迭代器

2.2 运行图(Running Graphs)

会话管理 (Session management)


操作


描述


class tf.Session


运行TF操作的类,

一个Session对象将操作节点op封装在一定的环境内运行,

同时tensor对象将被计算求值


tf.Session.__init__(target=”, graph=None, config=None)


创建一个新的会话


tf.Session.run(fetches, feed_dict=None,

options=None, run_metadata=None)


运行fetches中的操作节点并求其值


tf.Session.close()


关闭会话


tf.Session.graph


返回加载值该会话的图(graph)


tf.Session.as_default()


设置该对象为默认会话,并返回一个上下文管理器


tf.Session.reset(target, containers=None, config=None)


重设target的资源容器,并关闭所有连接的会话

在0.10版本该功能仅应用在分布会话中

target:为执行引擎所连接的目标,其包含有资源容器,

该资源容器分布在同一个集群的所有works上


class tf.InteractiveSession


使用在交互式上下文环境的tf会话,比如shell,ipython


tf.InteractiveSession.close()


关闭一个InteractiveSession


tf.get_default_session()


返回当前线程的默认会话

tf.Session

 1 #一个简单的tf.Session例子
 2 # 建立一个graph.
 3 a = tf.constant(5.0)
 4 b = tf.constant(6.0)
 5 c = a * b
 6
 7 # 将graph载入到一个会话session中
 8 sess = tf.Session()
 9
10 # 计算tensor `c`.
11 print(sess.run(c))
12
13
14 #一个会话可能会占用一些资源,比如变量、队列和读取器(reader)。释放这些不再使用的资源非常重要。
15 #使用close()方法关闭会话,或者使用上下文管理器,释放资源。
16 # 使用`close()`方法.
17 sess = tf.Session()
18 sess.run(...)
19 sess.close()
20
21 # 使用上下文管理器
22 with tf.Session() as sess:
23   sess.run(...)
24
25
26 tf.Session()的变量设置, ConfigProto protocol buffer为会话提供了不同的配置选项。比如,创建一个会话,对设备布局使用软约束条件,以及对分布
27
28 # Launch the graph in a session that allows soft device placement and
29 # logs the placement decisions.
30 sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,
31                                         log_device_placement=True))

tf.Session.run

 1 a = tf.constant([10, 20])
 2 b = tf.constant([1.0, 2.0])
 3 # ‘fetches‘ 可以为单个数
 4 v = session.run(a)
 5 # v is the numpy array [10, 20]
 6 # ‘fetches‘ 可以为一个list.
 7 v = session.run([a, b])
 8 # v a Python list with 2 numpy arrays: the numpy array [10, 20] and the
 9 # 1-D array [1.0, 2.0]
10 # ‘fetches‘ 可以是 lists, tuples, namedtuple, dicts中的任意:
11 MyData = collections.namedtuple(‘MyData‘, [‘a‘, ‘b‘])
12 v = session.run({‘k1‘: MyData(a, b), ‘k2‘: [b, a]})
13 # v 为一个dict,并有
14 # v[‘k1‘] is a MyData namedtuple with ‘a‘ the numpy array [10, 20] and
15 # ‘b‘ the numpy array [1.0, 2.0]
16 # v[‘k2‘] is a list with the numpy array [1.0, 2.0] and the numpy array
17 # [10, 20].

tf.Session.as_default() 
使用关键字with指定会话, 可以在会话中执行Operation.run()Tensor.eval(),以得到运行的tensor结果

1 c = tf.constant(..)
2 sess = tf.Session()
3
4 with sess.as_default():
5   assert tf.get_default_session() is sess
6   print(c.eval())

使用函数tf.get_default_session()来得到当前默认的会话 
需要注意的是,退出该as_default上下文管理器时,并没有关闭该会话(session ),必须明确的关闭会话

 1 c = tf.constant(...)
 2 sess = tf.Session()
 3 with sess.as_default():
 4   print(c.eval())
 5 # ...
 6 with sess.as_default():
 7   print(c.eval())
 8 #关闭会话
 9 sess.close()
10 #使用 with tf.Session()方式可以创建并自动关闭会话

tf.InteractiveSession

1 sess = tf.InteractiveSession()
2 a = tf.constant(5.0)
3 b = tf.constant(6.0)
4 c = a * b
5 # 我们直接使用‘c.eval()‘ 而没有通过‘sess‘
6 print(c.eval())
7 sess.close()

以上的例子,在非交互会话的版本中为,

1 a = tf.constant(5.0)
2 b = tf.constant(6.0)
3 c = a * b
4 with tf.Session():
5   # We can also use ‘c.eval()‘ here.
6   print(c.eval())

ABC

错误类 (Error classes)


操作


描述


class tf.OpError


一个基本的错误类型,在当TF执行失败时候报错


tf.OpError.op


返回执行失败的操作节点,

有的操作如Send或Recv可能不会返回,那就要用用到node_def方法


tf.OpError.node_def


以NodeDef proto形式表示失败的op


tf.OpError.error_code


描述该错误的整数错误代码


tf.OpError.message


返回错误信息


class tf.errors.CancelledError


当操作或者阶段呗取消时候报错


class tf.errors.UnknownError


未知错误类型


class tf.errors.InvalidArgumentError


在接收到非法参数时候报错


class tf.errors.NotFoundError


当发现不存在所请求的一个实体时候,比如文件或目录


class tf.errors.AlreadyExistsError


当创建的实体已经存在的时候报错


class tf.errors.PermissionDeniedError


没有执行权限做某操作的时候报错


class tf.errors.ResourceExhaustedError


资源耗尽时报错


class tf.errors.FailedPreconditionError


系统没有条件执行某个行为时候报错


class tf.errors.AbortedError


操作中止时报错,常常发生在并发情形


class tf.errors.OutOfRangeError


超出范围报错


class tf.errors.UnimplementedError


某个操作没有执行时报错


class tf.errors.InternalError


当系统经历了一个内部错误时报出


class tf.errors.DataLossError


当出现不可恢复的错误

例如在运行 tf.WholeFileReader.read()读取整个文件的同时文件被删减


tf.errors.XXXXX.__init__(node_def, op, message)


使用该形式方法创建以上各种错误类

原文地址:https://www.cnblogs.com/zhangchao162/p/10843605.html

时间: 2024-08-16 13:52:15

TensorFlow基础——常用函数(三)的相关文章

TensorFlow基础——常用函数(四)

Tensorflow一些常用基本概念与函数(四) 摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为‘Tensorflow一些常用基本概念与函数’系列之四. 1.序言 本文所讲的内容主要为以下列表中相关函数.函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 tf.train.GradientDescentOptimizer,并基

TensorFlow基础——常用函数(一)

目录: 一.TensorFlow的基本操作 二.tf函数 三.TensorFlow的算术操作 四.张量操作Tensor Transformations 4.1 数据类型转换Casting 4.2 形状操作Shapes and Shaping 4.3 切片与合并(Slicing and Joining) 五.矩阵相关运算 六.复数操作 七.归约计算(Reduction) 八.分割(Segmentation) 九.序列比较与索引提取(Sequence Comparison and Indexing)

TensorFlow基础——常用函数(二)

一.tf函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作. 并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU.本文主要涉及的相关概念或操作有以下内容: 操作组 操作

java基础--常用函数总结

java基础--常用函数总结 2019-3-16-23:28:01-----云林原创 1.split()字符串分割函数 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.Math.floor( )舍掉小数取整数 3.Math.rint( )四舍五入取整数 4.Math.ceil( )进位取整数 5.IndexOf( )查找特定字符出现的索引 ----------------------------------------->特定字符出现的最先出现的位置:IndexOf(): ---

『TensorFlow』常用函数实践笔记

查询列表: 『TensorFlow』函数查询列表_数值计算 『TensorFlow』函数查询列表_张量属性调整 『TensorFlow』函数查询列表_神经网络相关 经验之谈: 节点张量铺设好了之后,只要不加sess.run(),可以运行脚本检查张量节点是否匹配,无需传入实际数据流. 'conv1'指节点,'conv1:0'指节点输出的第一个张量. sess上下文环境中的函数调用即使不传入sess句柄,函数体内也存在于默认的sess环境中,可以直接sess.run(). image_holder

『TensorFlow』常用函数

张量相关: tf.cast():bool->数字 re = tf.cast([True,False],tf.float32) sess = tf.Session() sess.run(re) # Out[6]: # array([ 1., 0.], dtype=float32) tf.argmax:(list,维度) re = tf.argmax([[0,0.5]],1) sess.run(re) # Out[20]: # array([1]) 变量相关: tf.Variable() # 声明变

TensorFlow 常用函数汇总

本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作.并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU. 下面是一些

[转]SQL 常用函数及示例

原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --================================== /* 一.函数的分类 SQL函数一般分为两种 单行函数 基于单行的处理,一行产生一个结果 多行函数 基于多行的处理,对多行进行汇总,多行产生结果 二.函数形式 function_name [(arg1, arg2,...)] 三.常用的单行函数:

Tensorflow一些常用基本概念与函数(三)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的数据IO.图的运行等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之三. 1.序言 本文所讲的内容主要为以下相关函数: 操作组 操作 Data IO (Python functions) TFRecordWrite,rtf_record_iterator Running Graphs Session management,Error classes 2.tf函数 2.1 数据IO {Da