在 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。

Python 使用 autograd 模块计算张量梯度 - y.backward() 函数详解

原文地址: https://www.cveoy.top/t/topic/peqv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录