一、简介
pytorch中有个有用的模块,叫做自动梯度,它可以自动计算张量的梯度,其原理是自动跟踪张量的全部操作,然后对其进行反向的每一步操作。
二、操作过程
实现过程需要首先告诉张量要执行自动梯度的操作。
第一步: 创建一个张量,并告诉张量,需要跟踪梯度。
代码:
x = torch.randn(2, 2, requires_grad=True)
print(x)
输出:
第二步: 接着对张量进行操作,输出结果中参数PowBackward0
已经记录了上次操作是进行的幂运算,其后的0
表示第一次的幂操作。
y = x**2
print(y)
输出:
第三步: 继续对y进行平均值,并打印,与第二步相同,记录操作。
z = y.mean()
print(z)
输出: