【pytorch-autograd】

解释的官网:https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html#sphx-glr-beginner-blitz-autograd-tutorial-py“”


1.

x = torch.ones(3, requires_grad=True)

y = x * 2


v = torch.tensor([1, 2, 0], dtype=torch.float)
y.backward(v, retain_graph=True)
a = x.grad
print(x.grad)
y[0].backward(retain_graph=True)
print(x.grad)

求梯度主要通过两个函数:
y.backward()
x.grad()
但是这里需要注意,y必须是一个标量,如果不是标量,就要通过一个向量V直接得到v和雅克比矩阵的乘积
x.grad是会不断叠加的,也就是说,第二次调用x.grad输出的结果是两次x.grad()结果相加得到的
x定义是需要强调, requires_grad=True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值