一、标量
在 TensorFlow 中,标量最容易理解,它就是一个简单的数字,维度数为0,shape 为
[]。
标量的典型用途之一是误差值的表示、各种测量指标的表示,比如准确度(Accuracy,
acc),精度(Precision)和召回率(Recall)等。
以均方差误差函数为例,经过tf.keras.losses.mse(或tf.keras.losses.MSE)返回每个样本
上的误差值,最后取误差的均值作为当前batch 的误差,它是一个标量
二、向量
向量是一种非常常见的数据载体,如在全连接层和卷积神经网络层中,偏置张量𝒃就
使用向量来表示。
如图所示,每个全连接层的输出节点都添加了一个偏置值,把所有输出节点的偏置表示成向量形式
三、矩阵
矩阵也是非常常见的张量类型,
比如全连接层的批量输入𝑋 = [𝑏, 𝑑𝑖𝑛 ],其中𝑏表示输入样本的个数,即batch size,𝑑𝑖𝑛表示输入特征的长度。
比如特征长度为4,一共包含2 个样本的输入可以表示为矩阵:
四、四维张量
4 维张量在卷积神经网络中应用的非常广泛,它用于保存特征图(Feature maps)数据,
格式一般定义为 [𝑏, ℎ,w , 𝑐]
其中𝑏表示输入的数量,h/w分布表示特征图的高宽,𝑐表示特征图的通道数,部分深度学
习框架也会使用[𝑏, 𝑐, ℎ, w]格式的特征图张量,例如PyTorch。
图片数据是特征图的一种,对于含有RGB 3 个通道的彩色图片,每张图片包含了h 行w 列像素点,每个点需要3 个数值表示RGB 通道的颜色强度,因此一张图片可以表示为[h, w, 3]。
如图所示,最上层的图片表示原图,它包含了下面3 个通道的强度信息。
神经网络中一般并行计算多个输入以提高计算效率,故𝑏张图片的张量可表示为
[𝑏, ℎ,w , 3]。