一、张量简介
TensorFlow使用张量(Tensor)作为数据的基本单位,张量是具有统一类型(dtype)的多维数组,类似于numpy的多维数组np.array。我们可以使用张量来描述数学中变量和常量,例如标量(0维数组)、向量(1维数组)、矩阵(2 维数组)等各种常量或变量。
其中张量又可分为变量张量和常量张量。变量张量是一种可变的张量,一般作为模型的参数使用,在各种OP中可以赋值、修改等;而常量张量更类似于数组,它的值是不可变的,只能重新创建,不可修改。本节以常量张量为例。
张量的主要属性有三个,分别为形状(shape)、类型(dtype)和值(numpy()),可以通过张量实例的shape、dtype属性和numpy()方法来获取。我们可以通过tf.constant()来创建常量张量,如下:
前面也有提到,张量元素必须要具有相同类型,也即数据类型,也就是dtype必须相同,其中dtype可取类型主要有tf.int8、tf.int16、tf.int32、tf.int64、tf.float16、tf.float32、tf.float64、tf.string等等,具体可参考 Module: tf | TensorFlow Core v2.2.0
当我们尝试去使用不同的类型创建张量时,会报如下ValueError: