pytorch使用——(三)autograd自动求导系统与逻辑回归

一、基础知识

1、torch.autograd

1)torch.autograd.backward(tensors,grad_tensors=None,retain_graph=None,create_graph=False),自动求梯度

tensors: 用于求导的张量

retain_graph : 保存计算图

create_graph : 创建导数计算图,用于高阶求导

grad_tensors:多梯度权重,当一个神经元具有多个loss时需要对不同loss的梯度进行赋权

2)torch.autograd.grad(outputs,inputs,grad_outputs=None,retain_graph=None,create_graph=False),求梯度

outputs: 用于求导的张量,如 loss

inputs : 需要梯度的张量

create_graph : 创建导数计算图,用于高阶求导

retain_graph : 保存计算图

grad_outputs:多梯度权重

 

2、逻辑回归

1)本质:

线性回归是分析自变量x与因变量y(标量)之间关系的方法;逻辑回归是分析自变量x与因变量y(概率)之间关系的方法

2)模型: 

3)推导: 

注:y/1-y,表示y为正样本的几率,哈哈自己品。 

二、重点讲解

1)autograd注意事项

(1)梯度不自动清零,如果不清零梯度会累加,所以需要在每次梯度后人为清零:w.grad.zero_(),_()是原位操作,在原始地址上进行更改。

(2)依赖于叶子结点的结点,requires_grad默认为True

(3)叶子结点不可执行in-place,因为其他节点在计算梯度时需要用到叶子节点,所以叶子地址中的值不得改变否则会是其他节点求梯度时出错。所以叶子节点不能进行原位计算。

2)当运行代码画图时,plot栏常会出现空间不足而不显示最终结果,删几个就好了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值