torch.autograd学习系列之torch.autograd.grad()函数学习

前言:上一次我们学习了torch.autograd.backward()方法,这是一个计算反向过程的核心方法,没看过的小伙伴可以去看看
传送门:https://blog.csdn.net/Li7819559/article/details/104725473

今天我们来学习torch.autogard.gard()函数:

函数的作用

作用:计算并返回outputs对inputs的梯度

参数列表

一共六个,分别是:outputs,inputs,gard_outputs,retain_graph,create_graph,allow_unused,我们接下来一一研究

1.outputs

这个是待被求导的tensor,作为第一个参数

2.inputs

这个是要被计算导数的叶子节点

3.grad_outputs

这个就是我们上次所讲解过的Jacobian-vector product中的向量,如果想查看详细信息 请前往开头的那个传送门0.0

4.retain_graph

这是一个布尔型参数,如果为真的话,forward过程所创建的计算图将不会被销毁,如果为False,调用完该函数,forward过程的计算图将会被销毁,再次调用该函数需要重新建立计算图,默认值根create_graph的值相同

5.create_graph

这是一个布尔型参数,如果为真的话,这个梯度将会加入到计算图中,用来计算高阶导数或者其他计算,默认值为False

6.allow_unused

这也是一个布尔型参数,如果为True,则只返回inputs的梯度,而不返回其他叶子节点的,默认为Flase

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值