pytorch学习笔记---基础

学习视频:《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

visdom 深度学习可视化工具

随机梯度下降可以跨越鞍点

N个样本随机选一个计算loss,计算出梯度就开始更新权重

梯度下降可以并行计算,每个样本计算loss时W是一样的,随机梯度下降样本间的W是有依赖关系的,下一个样本的待更新的W是上个样本更新后的W,所以他不能并行计算。

                             梯度下降                                          随机梯度下降

因此采用一种这种的梯度下降方法:Batch (Mini-Batch)分批次

x需要做类型转换  为Tensor 参与运算的元素里有包含需要计算梯度的tensor,那么计算的结果默认也是需要计算梯度的。

前向计算loss,反向计算梯度l.backward,将计算图中所有需要计算梯度的地方都进行计算,然后保存在tensor W里。 反向传播完后计算图就释放。

求梯度是做一个纯数值运算。w.grad也是一个tensor ,用tensor进行计算是在定义计算图,所以要拿到他的值,要用w.grad.data,如果用tensor 计算实际上是在定义计算图,就意味着将来会自动对其求梯度。w.grad.item()也是为了防止张量运算。

 这样写会导致sum由开始的标量变为tensor,训练不结束计算图一直在增长,会把内存吃光

w更新完需要做一下清零。否则会梯度累加,所以要手工清零

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值