Python 使用 autograd 模块计算张量梯度 - y.backward() 函数详解
在 Python 中,可以使用 'autograd' 模块来计算张量的梯度。'autograd' 模块提供了一个 'Tensor' 类,它可以自动计算任意函数的梯度。
要计算 'y' 相对于 'x' 的梯度,可以使用 'y.backward()' 方法。在调用此方法之前,需要将 'y' 设置为一个标量(即只有一个元素的张量)。然后,可以使用 'x.grad' 来获取 'x' 的梯度。
下面是一个示例:
import torch
x = torch.tensor(2.0, requires_grad=True)
y = x**2 + 3*x + 1
# 计算y相对于x的梯度
y.backward()
# 获取x的梯度
print(x.grad)
输出结果为:
tensor(7.)
这表示 'y' 相对于 'x' 的梯度为 7。
原文地址: https://www.cveoy.top/t/topic/peqv 著作权归作者所有。请勿转载和采集!