简单粗暴PyTorch之autograd自动求导系统

本文详细介绍了PyTorch中的autograd模块,包括torch.autograd.backward()和torch.autograd.grad()的功能及使用区别。讨论了自动求导的过程,强调了梯度不自动清零、叶子节点requires_grad属性、禁止叶子节点进行in-place操作的原因,并提醒读者注意原位操作对ID的影响。
摘要由CSDN通过智能技术生成

autograd自动求导系统

一、autograd

torch.autograd.backward()
功能:自动求取梯度
• tensors: 用于求导的张量,如 loss
• retain_graph : 保存计算图
• create_graph : 创建导数计算图,用于高阶 求导
• grad_tensors:多梯度权重
与上一篇博客中的y.backward()有何不同
在这里插入图片描述
debug后发现调用的是torch.autograd.backword()
在这里插入图片描述

    # grad_tensors:多梯度权重
    w = torch.tensor([1.], requires_grad=True)
    x = torch.tensor([2.], requires_grad=True)

    a = torch.add(w, x)     # retain_grad()
    b = torch.add(w, 1)
    
    y0 = torch.mul(a, b)    # y0 = (x+w) * (w+1)    dy0/dw = 5
    y1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值