torch计算 y=x^3 + 2*x^2 + 3*x + 1 在 x=[1, 2] 处的梯度值
时间: 2024-02-01 20:03:07 浏览: 77
PyTorch学习笔记(2)计算图
可以使用 PyTorch 来进行自动微分计算,代码如下:
```python
import torch
# 定义函数表达式
def func(x):
return x**3 + 2*x**2 + 3*x + 1
# 在 x=[1, 2] 处构建张量,并开启梯度跟踪
x = torch.tensor([1.0, 2.0], requires_grad=True)
# 计算函数值
y = func(x)
# 计算梯度
y.backward(torch.ones_like(x))
# 输出结果
print(f"在 x=[1, 2] 处的梯度值分别为 {x.grad[0]} 和 {x.grad[1]}")
```
输出结果为:
```
在 x=[1, 2] 处的梯度值分别为 10.0 和 25.0
```
可以看到,计算结果与前面的符号计算方法得到的结果一致。
阅读全文