Tensorflow张量的阶、形状和数据类型
- 张量是具有统一类型(称为 dtype )的多维数组,类似于numpy的多维数组np.array。我们可以使用张量来描述数学中变量和常量,例如标量(0维数组)、向量(1维数组)、矩阵(2维数组)等各种常量或变量。
- 张量的主要属性有三个,分别为形状(shape)、类型(dtype)和值(numpy ()),可以通过张量实例的shape、dtype属性和numpy ()方法来获取。我们可以通过tf.constant ()来创建常量张量。
- 张量的形状表示每个轴上的元素数量,例如[3, 2, 5]表示一个3维张量,第一个轴有3个元素,第二个轴有2个元素,第三个轴有5个元素。张量的阶表示张量的维数,也就是轴的数量,例如[3, 2, 5]表示一个3阶张量1。
- 张量的类型表示张量中元素的数据类型,例如tf.int32、tf.float16、tf.string等。张量中的所有元素必须具有相同的类型,否则会报错。我们可以在创建张量时指定类型,也可以使用tf.cast ()函数进行类型转换1。
- 可以对张量执行基本数学运算,包括加法、逐元素乘法和矩阵乘法。我们可以使用tf.add ()、tf.multiply ()、tf.matmul ()等函数,也可以使用运算符重载,例如+、*、@等1。
- 可以使用标准索引方式或切片方式来提取张量中的部分数据。例如,x[0]表示读取第一个元素或子张量,x[start:end:step]表示按照指定的开始位置、结束位置(不包含)和采样步长提取一段数据1。
- 可以使用tf.reshape ()函数来改变张量的形状,但是必须保证新形状和原形状具有相同的元素总数。tf.reshape ()函数不会复制数据,只会创建一个新的张量指向内存中相同的数据