Pytorch基础入门——Autograd

autograd自动微分

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

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

 

Pytorch基础入门——Autograd 如图所示,向量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])

 

上一篇:Pytorch学习-自动求梯度


下一篇:五个有趣的Python练手小项目,附代码