本博客笔记根据B站上的李沐老师的‘动手学深度学习’课程进行记录,就当是本人的一个学习笔记了吧。
第一节:数据处理和操作
1.N维数组是机器学习和神经网络的主要数据结构。
0d(维)数组 :标量 例如 1.0 表示一个类别
1d数组:向量 例如[1.0,1.5,20] 表示一个向量
2d及以上表示一个矩阵,可以表示样本,RGB图片等
2.创建一个数组需要指明三个条件
(1)数组的形状(shape)例如 3*4的矩阵
(2)每个元素的数据类型
(3)每个元素的值
3.访问数组中的元素
访问一个元素 [0,2] 第零行第二个元素
访问一行元素[1,:]第一行全部元素
访问一列元素[:,1]第一列全部元素
访问一部分元素 [1:3,1:] 第一行到第三行之间(左闭右开即第1行,第2行,1:表示从1列开始所有的元素)
[::3,::2] 行步长为3,列步长为2
张量:表示一个由数值组成的数组,数组可能有多个维度
shape&numel:可以通过shape来访问一个张量的形状和张量中的元素总数(numel)
reshape:在不改变元素的个数和位置的情况下改变其形状
(**表示幂运算)
dim=0合并,按行合并,将两个张量上下拼接在一起
dim=1合并,按列合并,将两个张量左右拼接在一起
形状不同的张量可以通过广播机制来进行操作,即分别按行和列进行复制然后操作