2.3线性代数(动手深度学习v2)

本文介绍了深度学习中的基本数学概念,包括标量、向量、矩阵和张量,以及它们在维度降低、哈达玛积和范数计算中的应用。通过实例展示了张量的形状、按元素除法可能导致的错误以及张量求和的结果。此外,还探讨了linalg.norm函数如何计算张量的范数。
摘要由CSDN通过智能技术生成

学习目标:

动手深度学习V2(进度:6/73)

学习内容:

  • 标量、向量、矩阵和张量是线性代数中的基本数学对象。
  • 向量泛化自标量,矩阵泛化自向量。
  • 标量、向量、矩阵和张量分别具有零、一、二和任意数量的轴。
  • 一个张量可以通过sum和mean沿指定的轴降低维度。
  • 两个矩阵的按元素乘法被称为他们的哈达玛积。它与矩阵乘法不同。
  • 在深度学习中,我们经常使用范数,如 L1 范数、 L2 范数和弗罗贝尼乌斯范数。
  • 我们可以对标量、向量、矩阵和张量执行各种操作。

学习时间:

2021.9.4( 10:40-11:20am)

学习产出:

本文2333

练习题:

1.我们在本节中定义了形状(2,3,4)的张量X。len(X)的输出结果是什么?

X = torch.arange(24).reshape(2, 3, 4)
print(X, '\n', len(X))

运行结果:
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]]]) 
 2

说明3维张量中,len表示第一个维度的值。

2.运行A/A.sum(axis=1),看看会发生什么。你能分析原因吗?

A = torch.arange(20).reshape(5, 4)
A

运行结果:
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15],
        [16, 17, 18, 19]])
A/A.sum(aixs=1)

运行结果:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-66827c98fc68> in <module>()
----> 1 A/A.sum(aixs=1)

TypeError: sum() received an invalid combination of arguments - got (aixs=int, ), but expected one of:
 * (*, torch.dtype dtype)
 * (tuple of ints dim, bool keepdim, *, torch.dtype dtype)
 * (tuple of names dim, bool keepdim, *, torch.dtype dtype)

原因应该是A/A中有元素为nan(0为被除数时,结果为nan)

A/A

运行结果:
tensor([[nan, 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]])

3.考虑一个具有形状(2,3,4)的张量,在轴0,1,2上的求和输出是什么形状?

X = torch.arange(24).reshape(2, 3, 4)
X.sum(axis=[0, 1, 2]).shape

运行结果:
torch.Size([])

就是一个标量,列表

4.向linalg.norm函数提供3个或更多轴的张量,并观察其输出。对于任意形状的张量这个函数计算得到什么?

import numpy as np
X = torch.arange(24).reshape(2, 3, 4)

Y = torch.arange(36).reshape(1, 3, 3, 4)

Z = torch.arange(36).reshape(3, 1, 3, 4)
print(np.linalg.norm(X), np.linalg.norm(Y), np.linalg.norm(Z))```

linalg.norm函数默认求张量的整体元素平方和开根号,不保留矩阵二维特性
### 回答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、付费专栏及课程。

余额充值