前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动手学深度学习--基础知识上篇

动手学深度学习--基础知识上篇

作者头像
用户10271432
发布2023-10-16 19:56:37
2390
发布2023-10-16 19:56:37
举报

🎈动手学deep learning ☁️本专栏会定期更新关于动手学深度学习的每章知识点的讲解,题目答案 👻如果喜欢,欢迎点赞,收藏

动手学深度学习-预备知识篇

线性代数篇

1-3题讲解
  1. 证明一个矩阵
\mathbf{A}

的转置的转置是

\mathbf{A}

,即

(\mathbf{A}^\top)^\top = \mathbf{A}

代码语言:javascript
复制
import torch as tc
A = torch.arange(24,dtype = torch.float32).reshape(4,-1)
print(1,A),print(1,(A.T).T)
  • 运行结果
第一题图解
第一题图解

2. 给出两个矩阵

\mathbf{A}

\mathbf{B}

,证明“它们转置的和”等于“它们和的转置”,即

\mathbf{A}^\top + \mathbf{B}^\top = (\mathbf{A} + \mathbf{B})^\top

代码语言:javascript
复制
# 2.证明两个矩阵的转置的和等于矩阵和的转置
A1 = torch.arange(24,dtype = torch.float32).reshape(4,-1)+2
print(A.T+A1.T),print((A+A1).T)
  • 运行结果
在这里插入图片描述
在这里插入图片描述

3. 给定任意方阵

\mathbf{A}

\mathbf{A} + \mathbf{A}^\top

总是对称的吗?为什么?

代码语言:javascript
复制
# 3.对于任意给定的*方*阵A,总是有A+A.T是对称矩阵???
Z = torch.arange(16,dtype = torch.float32).reshape(4,-1)
print(3,Z+Z.T),print(3,(Z+Z.T).T)
Y = torch.tensor(([4,2,3,4],[42,12,56,88],[74,32,12,44],[9,93,32,12]))
print((Y+Y.T)),print((Y+Y.T).T)
  • 运行结果
第三个图片啦
第三个图片啦
4-9题讲解
  1. 本节中定义了形状
(2,3,4)

的张量Xlen(X)的输出结果是什么?

代码语言:javascript
复制
# 4.X = torch.arange(24,dtype = torch.float32).reshape(2,3,4),求len(X)
X = torch.arange(24,dtype = torch.float32).reshape(2,3,4)
print(len(X),len(X[1]),print(X))
  • 运行结果
第四道题,输出多几个不过分吧
第四道题,输出多几个不过分吧

5. 对于任意形状的张量X,len(X)是否总是对应于X特定轴的长度?这个轴是什么?

代码语言:javascript
复制
# 5.给定一个任意的张量,要指出len(X)是对应的那个轴的长度,这个轴是什么
X1 = tc.ones(24).reshape(6,-1)  #轴度为2
print(len(X1))                  
X2 = tc.arange(24).reshape(4,2,-1) #轴度为3
print(len(X2))
W = tc.zeros(30)             #轴度为1
print(len(W))
  • 运行结果
第五道题目
第五道题目

6. 运行A/A.sum(axis=1),看看会发生什么。请分析一下原因?

在这里插入图片描述
在这里插入图片描述
  • 更改之后,不能再除
在这里插入图片描述
在这里插入图片描述
  1. 考虑一个具有形状
(2,3,4)

的张量,在轴0、1、2上的求和输出是什么形状?

代码语言:javascript
复制
print(X.sum(axis = 0)),print(X.sum(axis = 1)),print(X.sum(axis = 2))
  • 运行结果
第七题,竟然是最后一个写完的
第七题,竟然是最后一个写完的
  1. linalg.norm函数提供3个或更多轴的张量,并观察其输出。对于任意形状的张量这个函数计算得到什么?
代码语言:javascript
复制
# 8.为linalg.norm函数提供3个或更多轴的张量,并观察其输出。对于任意形状的张量这个函数计算得到什么?
from math import sqrt
W1 = tc.arange(1024,dtype = torch.float32).reshape(1,2,2,256)
print(tc.norm(W1))
W2 = tc.arange(36,dtype = torch.float32).reshape(6,6)
print(tc.norm(W2) == sqrt((W2*W2).sum(axis = [0,1])))
print(sum(sum(W2*W2)))
print((W2*W2).sum(axis = [0,1]))
  • 运行结果
第八题
第八题

下篇预备知识:

1.微分学实现绘画切线 2.详解微分函数实现过程

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动手学深度学习-预备知识篇
    • 线性代数篇
      • 1-3题讲解
      • 4-9题讲解
    • 下篇预备知识:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档