动手学深度学习(pytorch)-总结1

断断续续在b站看了三个星期的《动手学深度学习》,这门课真的是太棒了,特别感谢李沐大神!
总结一下目前的一些收获。

一、 数据处理

一些基本的数据处理,常用pytorch语法
  • torch常用语法:
    • 创建张量:
      • torch.arange(n).reshape()
      • torch.zeros((ceng, row, col))
      • torch.tensor(), 怎么创建/辨别二/三维
    • 拼接张量:
      • torch.cat((x, y), dim=0/1)
    • 基本运算:
      • 求幂 x ** y
      • 求和但是保持维度 x.sum(axis = , keepdim = True)
      • 累加 x.cumsum(axis = )
      • 求L2范数: torch.norm(tensor)
      • L1 范数 torch.abs().sum()
    • others in python
      • 逻辑判断 x == y
      • 重新赋值 x= x + y 和 切片赋值 x[:] = y + z 都相当于浅拷贝

二、线性代数+矩阵计算+自动求导

矩阵一个基本求导,反向梯度如何实现?一些Code技巧
  • 矩阵求导,矩阵-标量之间求导,有一个图,最常用的是XTA对X求导,结果为AT.
  • 理解反向传播算法,用于自动求导。有一个计算图可以直观表示出来。(很多框架都用了自动求导)。
    求反向传播梯度: 清楚自变量梯度——>定义函数——>调用backward

三、线性回归+基础优化算法

线性回归模型是什么?参数有哪些?一个模型训练的全过程是什么?
  • 造轮子:
    1. 数据下载和处理。人工构建数据集()
    2. 需要的预备函数:返回batch的迭代器
    3. 模型定义:模型+损失函数(Code1)+优化算法
    4. 训练:初始化参数+定义参数(lr, num_epoch等)+循环训练
  • 损失函数:均方损失
  • 优化函数:小批量随机梯度下降SGD
  • 框架实现:
    • torch的data,nn包
    1. 模型:nn.Sequential()
  • Code
    • 1 x.reshape(y.shape)
    • 分不清行/列向量时: x.reshape((-1, next_dim))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值