05 线性代数【动手学深度学习v2】

线性代数基础知识

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
矩阵的每一行元素分别和`列的每行元素相乘再相加
在这里插入图片描述
按照列做乘法 矩阵被扭曲
在这里插入图片描述

在这里插入图片描述
矩阵A的范数 :其所有元素的平方和再开根号
在这里插入图片描述
在这里插入图片描述

特征向量是不被矩阵改变方向的向量
在这里插入图片描述

线性代数实现

在这里插入图片描述
向量是标量值组成的列表
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
这里是3行4列2片

在这里插入图片描述
如果只B=A 不会重新分配内存 只是把A的索引给B 这样B动A也会动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import torch

a = 2
x = torch.arange(24,dtype=torch.float32).reshape(2,3,4)
# print(a+x)
# print(a*x)

A = torch.arange(40).reshape(2,5,4)
print(A)# 2块5行4列 外0内1 所以依次是轴0,1,2
print('TTT\n',A.sum())
print('000\n',A.sum(axis=0),A.sum(axis=0).shape)
# 轴0,两片中的元素对应相加变一片 变5*4

print('111\n',A.sum(axis=1),A.sum(axis=1).shape)
# 轴1, 加的方向按行移动,行变化,每5行的中的元素对应相加变一行 变2*4

print('222\n',A.sum(axis=2),A.sum(axis=2).shape)
# 轴2,加的方向按列移动,列变化,每4列的中的元素对应相加变一列 变2*5
'''
tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11],
         [12, 13, 14, 15],
         [16, 17, 18, 19]],

        [[20, 21, 22, 23],
         [24, 25, 26, 27],
         [28, 29, 30, 31],
         [32, 33, 34, 35],
         [36, 37, 38, 39]]])
TTT
 tensor(780)
000
 tensor([[20, 22, 24, 26],
        [28, 30, 32, 34],
        [36, 38, 40, 42],
        [44, 46, 48, 50],
        [52, 54, 56, 58]]) torch.Size([5, 4])
111
 tensor([[ 40,  45,  50,  55],
        [140, 145, 150, 155]]) torch.Size([2, 4])
111
 tensor([[  6,  22,  38,  54,  70],
        [ 86, 102, 118, 134, 150]]) torch.Size([2, 5])

'''

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

print('0101\n',A.sum([0,1]),A.sum([0,1]).shape)# 轴0,1 按照矩阵来求 变1*4 即4


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
向量的点积 torch.dot(x*y)等价于按元素相乘再求和即torch.sum(x*y)
在这里插入图片描述
在这里插入图片描述

A = torch.arange(20).reshape(5,4)
x = torch.arange(4).reshape(4)
print(A)
print(x)
# A与列向量x相乘 相当于A的每行元素与x中的每个元素相乘再相加
print(torch.mv(A, x))

在这里插入图片描述
矩阵乘法在这里插入图片描述

A = torch.arange(20).reshape(5, 4)
B = torch.arange(12).reshape(4, 3)
print(A)
print(B)
print(torch.mm(A, B))
'''
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15],
        [16, 17, 18, 19]])
tensor([[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]])
tensor([[ 42,  48,  54],
        [114, 136, 158],
        [186, 224, 262],
        [258, 312, 366],
        [330, 400, 470]])
'''

在这里插入图片描述
范数在这里插入图片描述在这里插入图片描述
在这里插入图片描述

按轴求和

二维中
axis=0 沿着行变化的方向移动相加 按行相加 shape 去掉axis0,去掉5
axis=1 沿着列变化的方向移动相加 按列相加 shape 去掉axis1,去掉4
在这里插入图片描述
三维
在这里插入图片描述
keepdims=True
在这里插入图片描述
torch 不区分行向量和列向量吗?
ps 机器学习中的张量其实是矩阵
一维张量一定是行向量
列向量一定是个矩阵(二维)
如果要区分行列向量要用矩阵区别
但是对计算机来说 向量就是一个一维数组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 动手深度学习v2是一本非常好的深度学习教材,是从谷歌机器习研究员李沐所主持的Gluon团队创作的。它提供了丰富的案例和实际应用,深入浅出地介绍了深度学习的基础理论和实践技能。 下载动手深度学习v2非常简单,可以通过访问官方网站来获取。首先,打开谷歌或百度搜索引擎,搜索"动手深度学习v2下载",就可以找到相关的下载链接。建议选择官网下载,因为官网下载最为安全可靠。 进入官网后,点击首页上的"下载"按钮,然后在目录下找到本书的下载链接,下载适合你的版本即可。此外,动手深度学习v2还有在线阅读的版本,方便习者随时随地习。 总的来说,动手深度学习v2是一本非常优秀的深度学习教材,相关下载链接也十分便捷,能够帮助广大习者更好地掌握深度学习相关的知识和技能。 ### 回答2: 动手深度学习v2是一本非常优秀的深度学习入门书籍,笔者十分推荐。如果您想要下载该书籍,可以使用以下方法: 1.进入动手深度学习v2的官网(https://zh.d2l.ai/),点击右上角的“Github”按钮,进入书籍的Github仓库。 2.在仓库中找到“releases”目录,选择最新的版本号,点击进入。 3.在该版本的页面中,找到“Source code (zip)”或“Source code (tar.gz)”选项,点击下载压缩包。 4.下载完成后,解压缩文件即可得到电子书的文件夹,其中包括PDF和HTML格式的书籍。 除此之外,您也可以在该官网中找到由中文社区翻译的在线电子书版本。在该电子书中,您可以直接在线阅读和习。值得注意的是,该书籍的在线翻译版本可能会比英文原版稍有滞后。如果您想要阅读最新的内容,请下载英文原版或者在该官网上查看最新的更新。 ### 回答3: 深度学习是现在的热门话题之一。而动手深度学习v2是一本非常好的深度学习教材,旨在为做实际项目的习者提供知识技能和实战经验。为了下载此书,您需要按照以下步骤进行。 首先,您需要访问动手深度学习官方网站,网址为d2l.ai。然后,您需要找到下载页面,这个页面可以通过页面上的“全书下载”按钮或主页面上的一个标签来访问。 在下载页面,您需要选择您所需要的版本,v2版本是最新版本。接着,您需要选择您所需的格式。您可以选择PDF格式或HTML格式,下方还提供了在线阅读链接。 若您选择了PDF格式,则需要点击下载链接,页面会跳到GitHub仓库中。在GitHub页面,您需要选择ZIP文件并下载。下载完成后,您就可以在本地解压并阅读这本书了。 若您选择了HTML格式,则不需下载,只需点击在线阅读链接即可。页面会跳转到包含书籍所有章节、实例代码、作者笔记等信息的HTML页面,您可以任意阅读或者下载章节(在左侧点击对应章节)。 总之,动手深度学习v2是一本亲身实践的深度学习教材,其深入浅出的讲解以及丰富的实战案例,能够帮助初者快速掌握深度学习这一技术,同时也是深度学习领域专业人士的必备读物。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值