一、Tensorflow的数据类型
在深度学习之前,list类型、ndarray类型就已经存在,但是不支持GPU和求导操作,因此,出现了一种新的数据类型—tf.Tensor(维度大于2),tf.Variable(数据求导时用到)
tensor(张量)共有以下数据格式:
int(整型)、float(单精度浮点型)、double(双精度浮点型)
bool(布尔型)
string(字符型)
1.简单创建Tensor
2.Tensor的属性
3.检查数据类型
4.类型的转换
5.tf.Variable
该数据类型使其具有可求导的特性。将tf.Tensor->tf.Variable后,会使其自动记录梯度的相关信息。
二、创建Tensor及应用场景
1.创建Tensor
将list、ndarray转换成Tensor
tf.zeros()、tf.ones()—传入的是shape
tf.fill()—填充
参数分别是shape与value
tf.random.normal()—随机初始化
参数分别为shape、mean与std
tf.random.uniform()—均匀分布
参数分别为shape、下界与上界
tf.random.shuffle()—随机打散
tf.constant()
2.Tensor的应用场景
scalar-标量
Vector-向量
Matrix-矩阵
Dim=3 Tensor
Dim=4 Tensor
Dim=5 Tensor
三、索引与切片
1.Basic indexing
a[idx][idx][idx]...
2.Numpy-style indexing
3. start:end-单冒号
Indexing by:表示将某一个维度都选取
Indexing by ::加一个步长
4.省略号…代替多个冒号
5.Selective Indexing
tf.gather根据所给索引进行收集
tf.gather_nd将最内层的括号当成联合索引的坐标
tf.boolean_mask—bool类型
四、维度变换
1.tf.reshape