动手学深度学习v2(一)数据操作及数据预处理
数据操作及数据预处理
N维数组
N维数组是机器学习和神经网络的主要数据结构
0-维数组叫做标量,如上图所示最简单的是1.0(一个浮点运算),可能表示一个物体的类别;
1-维数组叫做向量,如上图所示的三个数字,代表着一个特征向量,也就是样本抽象为一行数字;
2-维数组叫做矩阵,如上图所示有三行三列,可以是一个样本的特征矩阵,这就表示有3个样本,每一行表示一个样本,每一列表示样本的某特征。
3-维数组最简单的就是一个RGB彩色图片,也是一个3维数组,有宽度(列的个数),有高度(行的个数),又因为有RGB3个通道,所以是一个3维数组;
4-维表示N个3维的数组放在一起,即一个RGB图片的批量;
5-维数组表示的是一个视频的批量,即有很多张图片,但还加上了时间的维度,所以是批量大小x时间x宽x高x通道的5-d数组
创建数组
创建数组需要:
- 形状:例如3x4矩阵;
- 每个元素的数据类型:例如32位浮点数;
- 每个元素的值,例如全是0,或者随机数
访问元素
数据操作
把多个张量连结在一起
dim = 0表示在行上拼接(堆起来),dim = 1表示在列上拼接
即使形状不同,我们仍然可以通过调用 广播机制 (broadcastinng mechanism)来执行按元素操作