Pytorch闪电战——autograd

六月ゝ 毕业季﹏ 提交于 2020-01-03 19:58:18

基本概念

autograd是pytorch中所有神经网络的核心

torch.tensor是程序包的中心类

其存在一个属性:.requires_grad

如果.requires_gradTrue,那么它将开始跟踪对其的所有操作。

在完成计算后,可以调用.backward()并自动计算所有梯度

如果要停止tensor跟踪历史记录,可以调用.detach()将其从计算历史记录中分离出来,并防止跟踪将来的计算。

Function对autograd的实作也十分重要

tensorfunction相互连接并建立一个非循环图

每一个tensor都有一个属性.grad_fn。该属性引用Function已创建的Tensor

结合代码理解

代码

import torch
x = torch.ones(3, 3, requires_grad=True)
print(x)
y = x+2
z = y*y*3
out = z.mean()

print(z, out)
out.backward()
print(x.grad)

结果
在这里插入图片描述
参考链接:AUTOGRAD

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!