第12周周报收获学会基础的数据操作数据预处理部分线性代数因复习考试需要暂无更多收获数据操作入门新建从0到7的张量xtorch.arrange(8)xtorch.tensor([0,1,2,3,4,5,6,7])x([0,1,2,3,4,5,6,7])查看维度:x.shape()torch.Size([8])查看数量:x.numel()8改变张量形状:x.reshape(2,4)([0,1,2,3],[4,5,6,7])其他初始化张量的函数torch.zero((x,y))生成形状为(x,y)的张量全为0torch.ones((x,y))全为1torch.randn(x,y)服从正态分布运算符除去基础的加减乘除还有拼接操作catX torch.arange(12, dtypetorch.float32).reshape((3,4))Y torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])torch.cat((X, Y), dim0), torch.cat((X, Y), dim1)(tensor([[ 0., 1., 2., 3.],[ 4., 5., 6., 7.],[ 8., 9., 10., 11.],[ 2., 1., 4., 3.],[ 1., 2., 3., 4.],[ 4., 3., 2., 1.]]),tensor([[ 0., 1., 2., 3., 2., 1., 4., 3.],[ 4., 5., 6., 7., 1., 2., 3., 4.],[ 8., 9., 10., 11., 4., 3., 2., 1.]]))广播机制形状不同的张量自动扩成相同形状再运算。从最后一维往前比对维度维度相等匹配某一维是1自动拉伸对齐维度数不够左边补 1数据预处理读取数据import pandas as pddata pd.read_csv(data_file)print(data)NumRooms Alley Price0 NaN Pave 1275001 2.0 NaN 1060002 4.0 NaN 1781003 NaN NaN 140000处理缺失值inputs inputs.fillna(data.mean())print(inputs)NumRooms Alley Price0 3.0 Pave 1275001 2.0 NaN 1060002 4.0 NaN 1781003 3.0 NaN 140000转化为张量格式X torch.tensor(data.to_numpy(dtypefloat))(tensor([[3., 1., 127500.],[2., 0., 106000.],[4., 0., 178100.],[3., 0., 140000.]], dtypetorch.float64),线性代数基础数据标量单个数值0维例x torch.tensor(3.0)向量1维数组例x torch.arrange(3)矩阵2维数组例x torch.arrange(12).reshape(3,4)张量任意维度数组统称降维例:x torch.arange(12).reshape(3,4)#沿着行对x求和压缩第0维xx.sum(axis0)(tensor([12,15,18,21],))#沿着行和列对x求和压缩为标量xx.sum(axis[0,1])(tensor([66],))向量点积内积同长度向量对应相乘再求和例x torch.arrange(4)y torch.ones(4, dtype torch.float32)x, y, torch.dot(x, y) #点积(tensor([0., 1., 2., 3.]), tensor([1., 1., 1., 1.]), tensor(6.))矩阵×向量行数不变列变向量长度例A(tensor([[ 0., 1., 2., 3.],[ 4., 5., 6., 7.],[ 8., 9., 10., 11.],[12., 13., 14., 15.],[16., 17., 18., 19.]])A.shape, x.shape, torch.mv(A, x)(torch.Size([5, 4]), torch.Size([4]), tensor([ 14., 38., 62., 86., 110.]))矩阵×矩阵左列右行才可乘例B torch.ones(4, 3)torch.mm(A, B)tensor([[ 6., 6., 6.],[22., 22., 22.],[38., 38., 38.],[54., 54., 54.],[70., 70., 70.]])范数衡量大小- L1范数元素绝对值之和- L2范数平方和开根号最常用微积分自动微分导数函数变化快慢偏导多变量只对一个变量求导自动微分框架自动算梯度不用手动求导神经网络反向传播核心靠链式法则批量算参数导数。