线性代数

ord=1,为啥不是求和,能帮忙解答下吗


我运行的结果并没有这个问题,请检查一下x的定义?

我有一个疑问
x.mean()是求平均值
x.sum()/x.numel()是通过对张量元素求和,除以张量内元素个数,
为什么这两个值的结果会不同呢?

其实也不是不可以相处,广播机制先开始是先将两个张量的维度先右对齐,右对齐之后短的张量存在的维度除1之外必须和长的长量的维度相同否则不能广播,例如维度为(2,3,4)和(4)的就可以广播,而(2,3,4)和(5)就不能广播因为右对齐之后发现4和5不相等,而作业上的这道题torch.Size([5, 4]), torch.Size([5])右对齐之后发现5不等于4所以不能广播,加上A/A.sum(axis=1, keepdims=True),维度变为torch.Size([5, 4]), torch.Size([5,1])右对齐后1与4对应,因为1可以广播到4所以两个运算正确

其实也不是不可以相处,广播机制先开始是先将两个张量的维度先右对齐,右对齐之后短的张量存在的维度除1之外必须和长的长量的维度相同否则不能广播,例如维度为(2,3,4)和(4)的就可以广播,而(2,3,4)和(5)就不能广播因为右对齐之后发现4和5不相等,而作业上的这道题torch.Size([5, 4]), torch.Size([5])右对齐之后发现5不等于4所以不能广播,加上A/A.sum(axis=1, keepdims=True),维度变为torch.Size([5, 4]), torch.Size([5,1])右对齐后1与4对应,因为1可以广播到4所以两个运算正确·······

运算的结果是一致的,你上面写的是x.sum()/x.numel(),这里的a是哪里来的呢?

A @ B好像并不少见,而且一开始是由numpy最先使用的 A @ B,到后面python解释器版本,直接把这个用法内置了,也就是不用引入numpy,也可以直接使用 A @ B

A @ B好像并不少见,而且一开始是由numpy最先使用的 A @ B,到后面python解释器版本,直接把这个用法内置了,也就是不用引入numpy,也可以直接使用 A @ B

axis是轴序号,按轴来理解比较好。降维实际上是选择一个轴,把这个轴给去掉,去掉的同时可以使用平均、求和等操作保留信息。自己扩展到3个轴,4个轴,看下sum、mean的行为是怎么样的就好理解了。

你是分别求的x的平均值和a的平均值,x和a是不是相等的?不等的话平均值不一样也很正常啊 。

可以这样理解,不如将 axis=?看作是从前开始数的第(?+1)个[ ,这样看上去更清晰一点,高维张量也是一样

axis=0 书上写对所有行操作,省去了一个前置:(对一列的)所有行进行操作。语文翻译引起了歧义

你好,请问是哪一个第7题?2.3线代这章好像没看到曼哈顿距离相关的题

补充一个小点,norm计算范式的时候,是要求矩阵元素为浮点数的。
torch.arrange.().reshape() 之后要加 .float(),不然就会报错。