> 文章列表 > 【李沐】深度学习笔记

【李沐】深度学习笔记

【李沐】深度学习笔记

一、深度学习基础知识

记录:当时学习李沐深度学习的笔记内容,后续继续补充。

04 数据操作 + 数据预处理

【李沐】深度学习笔记
【李沐】深度学习笔记
【李沐】深度学习笔记

大小为1的 tensor 可以直接转成一个标量
【李沐】深度学习笔记

数据预处理

用pd、np来做


05 线性代数

主要讲向量矩阵
【李沐】深度学习笔记

特殊矩阵:对称矩阵和反对称矩阵
正交矩阵

【李沐】深度学习笔记

正定:
【李沐】深度学习笔记

特征向量和特征值:不被矩阵改变方向的向量
fig5-4

  • 常用代码
A = torch.arange(20, dtype=torch.float32).rashape(5, 4)
B = A.clone() # 分配新内存
#求和
A.sum(axis=1, keepdims=True) # 把留维度
A.cumsum() # 累加求和
torch.dot() # 向量点击
torch.mv(A, x) # 矩阵向量积
torch.mm(A, B) # 矩阵乘法
torch.norm(u) # 向量的L2范数
torch.abs(u).sum() # L1 范数

fig5-5

Frobenius norm 是矩阵元素平方和的平方根

矩阵计算

【李沐】深度学习笔记

亚导数:比如|x|,这种函数在x=0点处不存在导数

梯度:
(1)标量对向量求导数,梯度往值变化最大的方向走
【李沐】深度学习笔记

【李沐】深度学习笔记

  • y是一个列向量,x是一个标量
    【李沐】深度学习笔记

  • 向量对向量

【李沐】深度学习笔记
【李沐】深度学习笔记

自动求导

链式法则求导数

【李沐】深度学习笔记

【李沐】深度学习笔记

【李沐】深度学习笔记

【李沐】深度学习笔记
【李沐】深度学习笔记

x.requires_grad(True)
x.grad
y = 2*torch.dot(x, x)
y.backward
#pytorch会累积梯度,所以要清楚之前的只
x.grad.zero_()

矩阵求导:https://zhuanlan.zhihu.com/p/263777564

二、QA

Q1:Jupyter添加Plotly插件,在 jupyter 中使用plotly

A:https://blog.csdn.net/huanghyw/article/details/104239756

Q2: 设置 pytorch 模型下载路径

A2:

import os
os.environ['TORCH_HOME']='E:/Data/torch-model'

Q3: PyTorch中的optimizer和scheduler
optimizer是利用学习率来更新网络参数的。scheduler是用于定义学习率的变化情况的
【李沐】深度学习笔记

三、linux

  • 安装软件包,已经下载好的deb文件
安装deb软件包:sudo dpkg -i xxxx.deb 
uninstall:sudo dpkg -r xxxx #卸载xxxx软件包(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)