TensorFlow2数据类型

1.1 数值类型
数值类型的张量是 TensorFlow 的主要数据载体,分为:
1.标量(Scalar) 单个的实数,如 1.2, 3.4 等,维度数(Dimension,也叫秩)为 0, shape 为[]

2.向量(Vector) n 个实数的有序集合,通过中括号包裹,如[1.2], [1.2, 3.4]等,维度数为 1,长度不定, shape 为[𝑛]

3.矩阵(Matrix) n 行 m 列实数的有序集合,如[[1,2], [3,4]],也可以写成 [1324] 维度数为 2, 每个维度上的长度不定, shape 为[𝑛, 𝑚]

张量(Tensor) 所有维度数dim > 2的数组统称为张量。 张量的每个维度也做轴(Axis),一般维度代表了具体的物理含义, 比如 Shape 为[2,32,32,3]的张量共有 4 维,如果表示图片数据的话,每个维度/轴代表的含义分别是:图片数量、 图片高度、 图片宽度、图片通道数,其中 2 代表了 2 张图片, 32 代表了高宽均为 32, 3 代表了 RGB 3 个通道。张量的维度数以及每个维度所代表的具体物理含义需要由用户自行定义

在 TensorFlow 中间,为了表达方便,一般把标量、向量、矩阵也统称为张量,不作区分,需要根据张量的维度数和形状自行判断。必须通过 TensorFlow 规定的方式去创建张量,而不能使用 Python 语言的标准变量创建方式。

a = 1.2
aa = tf.constant(1.2) # 创建标量
type(a), type(aa), tf.is_tensor(aa)

(float, tensorflow.python.framework.ops.EagerTensor, True)

通过 print(x)或 x 可以打印出张量 x 的相关信息

x = tf.constant([1,2.,3.3])
x

其中 id 是 TensorFlow 中内部索引对象的编号, shape 表示张量的形状, dtype 表示张量的数值精度,
张量 numpy()方法可以返回 Numpy.array 类型的数据,方便导出数据到系统的其他模块:

x.numpy()

array([1. , 2. , 3.3], dtype=float32)
与标量不同,向量的定义须通过 List 类型传给 tf.constant()。创建一个元素的向量:

a = tf.constant([1.2])
a, a.shape

(<tf.Tensor: shape=(1,), dtype=float32, numpy=array([1.2], dtype=float32)>, TensorShape([1]))
同样的方法定义矩阵:

a = tf.constant([[1,2],[3,4]])
a.shape

TensorShape([2, 2])

posted @ 2024-04-09 11:26  AzathothLXL  阅读(88)  评论(0)    收藏  举报