TensorFlow基础类型汇总

时间:2022-12-23 15:43:52
4.2  TensorFlow基础类型定义及操作函数介绍
下面介绍TensorFlow的基础类型、基础函数。这部分学完,会使你对TensorFlow的基础语法有个系统的了解,为后面学习写代码或读代码扫清障碍。
4.2.1  张量及操作
张量可以说是TensorFlow的标志,因为整个框架的名称TensorFlow就是张量流的意思。下面来一起全面的认识一下张量。
1.张量介绍
TensorFlow程序使用tensor数据结构来代表所有的数据。计算图中,操作间传递的数据都是tensor。
可以把TensorFlow tensor看作是一个n维的数组或列表。每个tensor包含了类型(type)、阶(rank)和形状(shape)。
● Tensor类型
为了方便理解,这里将tensor的类型与Python的类型放在一起做了个比较,见表4-2。

表4-2张量类型

TensorFlow基础类型汇总

●  rank(阶):
rank(阶)指的就是维度。但张量的阶和矩阵的阶并不是同一个概念,主要是看有几层中括号。比如,对于一个传统意义上的3阶矩阵a=[[1,2,3],[4,5,6],[7,8,9]]来讲,在张量中的阶数表示为2阶。(因为它有两层中括号)
表4-3列出了标量、向量、矩阵的阶数。

表4-3 标量向量和矩阵的阶数

TensorFlow基础类型汇总

●  shape(形状)
shape(形状)用于描述张量内部的组织关系。“形状”可以通过Python中的整数列表或元组(int list或tuples)来表示,也或者用TensorFlow中的相关形状函数来表示。
举例:一个二阶张量a = [[1, 2, 3], [4, 5, 6]]形状是两行三列,描述为(2,3)。
2.张量相关操作
张量的相关操作包括类型转换、数值操作、形状变换和数据操作。
● 类型转换
类型转换的相关函数见表4-4。

表4-4  类型变换相关函数

TensorFlow基础类型汇总

●  数值操作
数值操作的相关函数见表4-5。

表4-5  类型变换相关函数

TensorFlow基础类型汇总TensorFlow基础类型汇总

TensorFlow基础类型汇总

● 形状变换
形状变换的相关函数见表4-6。


TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

                                                      表4-6 形状变换相关函数

● 数据操作

数据操作的相关函数见表4-7:


TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

表4-7 数据操作相关函数

TensorFlow基础类型汇总

                                                        表4-7 数据操作相关函数

TensorFlow基础类型汇总

TensorFlow基础类型汇总

4.2.2  算术运算函数
表4-8列出了TensorFlow关于算术运算方面的函数。

                                                  表4-8 算术操作

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

4.2.3  矩阵相关的运算
矩阵相关的操作函数见表4-9。

TensorFlow基础类型汇总

TensorFlow基础类型汇总

                                                                         表4-9 矩阵操作函数

4.2.4  复数操作函数

                                              关于复数的操作函数见表4-10。

TensorFlow基础类型汇总

                                                    表4-10 复数操作函数
4.2.5  规约计算
规约计算的操作都会有降维的功能,在所有reduce_xxx系列操作函数中,都是以xxx的手段降维。每个函数都有axis这个参数,即沿某个方向,使用xxx方法对输入的tensor进行降维。
axis的默认值时None,即把input_tensor降到 0维,即一个数。
对于2维input_tensor而言: axis=0按列计算;axis=1,按行计算。
参数reduction_indices是为了兼容以前版本与axis,保证相同的含义。

表4-11 规约计算函数

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

TensorFlow基础类型汇总

4.2.6  分割
分割操作是TensorFlow不太常用的操作,在复杂的网络模型里偶尔才会用到。

表4-12 分割相关函数

TensorFlow基础类型汇总TensorFlow基础类型汇总

4.2.7  序列比较与索引提取
对于序列和数组的操作,是本书中非常常用的方法,具体的函数见表4-13。

表4-13 序列比较与索引提取相关函数

TensorFlow基础类型汇总

TensorFlow基础类型汇总

4.2.8  错误类
作为一个完整的框架,有它自己的错误处理。TensorFlow中的错误类如下,该部分不是太常用,可以作为工具,使用时查一下即可。

表4-14 错误类

TensorFlow基础类型汇总

TensorFlow基础类型汇总