PyTorch深度学习实践 系列学习笔记小结

本系列从梯度下降开始到卷积神经网络结束。
写这个小结作为该系列课程快速回忆核心要点的一个笔记,帮助自己(习惯性输出后脑袋变空,遗忘严重orz)以后再复习,也希望能帮助到正在学习这个课程或同样复习的小伙伴。

温故而知新哇!通过再次复习回忆该课程的笔记,越发佩服刘二大人的思路,太条理清晰啦!学习的内容真的是一个循序渐进的过程。

我是一个初出茅庐的小白,即将踏上未知的科研道路。以后希望能从事算法岗,目前我的学习的思路是,先会用,熟练的用!才能在有了自己的idea之后,随心所欲、游刃有余设计自己的方法,训练模型。(欢迎讨论交流!)

  • 前 3 讲都是线性回归,且都是处理的一维特征的输入数据

第三讲梯度下降算法(优化算法):自己编写 forward函数(手动写公式 y=w*x)、loss函数(欧拉距离公式)、grad函数(手动写公式),在循环训练中手动更新w值
第四讲反向传播:自己编写forward函数(手动写公式 y=w*x)、loss函数(欧拉距离公式),grad函数不用自己写了,通过backward()函数搞定一切grad,但也引出了计算图的概念,以及tensor的理解。循环训练中依旧要手动更新w值。
第五讲线性回归“全部自由了”! 引入了魔法函数和类概念,forward函数通过" class LinearModel(torch.nn.Module): " 最终是在torch.nn.Linear类中实现的、loss函数用的torch.nn.MSELoss(reduction = ‘sum’)(仍是距离平方),grad依然靠backward(),循环训练中通过设置optimizer = torch.optim.SGD(model.parameters(), lr = 0.01),通过optimizer.step()来自动更新权重了。

  • 后面迎来了分类问题。输入与标签之间不是简单的线性映射关系了,需要神经网络。

第六讲逻辑回归 二分类forward函数在原线性模型基础上多了一个sigmoid函数映射,loss函数引入了交叉熵的概念,用的BCELoss, 其余跟第五讲一样。

  • 机器学习模型训练五大步骤;第一是数据,第二是模型,第三是损失函数,第四是优化器,第五个是迭代训练过程。随着接触的项目越多会发现,模型设计、损失函数等大同小异,操作比较简单,数据模块通常还会分为四个子模块:数据收集、数据划分、数据读取、数据预处理。
  • 此时还没有涉及数据集载入问题,前面几节内容的数据集准备都是自己定义的简单的列表数据集。只是在强调后四个步骤。
  • 后面开始强调 数据集的问题。首先是文本数据集的加载。

第七讲多维输入数据:这里一次性输入了全部样本,没有涉及小批量即mini-batch的问题,所以暂时没有用到pytorch数据读取的核心Dataloader。模型、损失函数、优化器与前面一样。
第八讲文本数据集载入:训练使用的是mini_batch(小批量梯度下降), 就需要import DataSet和DataLoader了。涉及到二者的原理问题。

未完待续

by 小李

如果你坚持到这里了,请一定不要停,山顶的景色更迷人!好戏还在后面呢。加油!
欢迎交流学习和批评指正,你的点赞和留言将会是我更新的动力!谢谢😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值