Pytorch基础入门——Autograd

autograd自动微分

这部分概念参考自https://www.jianshu.com/p/5ae644748f21,感兴趣的小伙伴可以去看作者的原文。

假如我们有一个向量x=(1,1)当成input,经过一系列运算得到了output变量y,如下图所示:

如图所示,向量x经过与4和自身相乘之后得到向量z,z再求长度,得到y

我们想要求y关于x的微分时,pytorch会帮我们自动求解。

例子:
part1:
import torch
from torch.autograd import Variable
x = Variable(torch.ones(2), requires_grad = True)
x

x的结果:

tensor([1., 1.], requires_grad=True)

 part2:

y = 4 * x ** 2
y

 y的结果:

tensor([4., 4.], grad_fn=<MulBackward>)

 part3:

y_1 = y.norm()
y_1

 y_1的结果:

tensor(5.6569, grad_fn=<NormBackward0>)

 part4:

y_1.backward()
x.grad

 x.grad的结果:

tensor([5.6569, 5.6569])
原文地址:https://www.cnblogs.com/zhuozige/p/14691418.html