1.创建两个张量 `a` 和 `b`,分别值为 `[1, 2, 3, 4]` 和 `[5, 6, 7, 8]`。 计算它们的和、差、积、商,并打印出来。 2.创建一个10x10的矩阵 `A`,每个元素的值都为2。 创建另一个10x10的矩阵 `B`,每个元素的值都为3。计算这两个矩阵的和,并打印出来。 3.创建一个张量 `x`,其值为 `[1, 2]`。使用PyTorch中的自动求导功能, 计算 `y=x^3 + 2*x^2 + 3*x + 1` 在 `x=[1, 2]` 处的梯度值,并打印出来。
时间: 2023-09-05 17:10:38 浏览: 60
1.代码实现:
```python
import torch
a = torch.tensor([1, 2, 3, 4])
b = torch.tensor([5, 6, 7, 8])
# 和
print("和:", a+b)
# 差
print("差:", a-b)
# 积
print("积:", a*b)
# 商
print("商:", a/b)
```
输出结果:
```
和: tensor([ 6, 8, 10, 12])
差: tensor([-4, -4, -4, -4])
积: tensor([ 5, 12, 21, 32])
商: tensor([0.2000, 0.3333, 0.4286, 0.5000])
```
2.代码实现:
```python
import torch
A = torch.ones(10, 10) * 2
B = torch.ones(10, 10) * 3
# 矩阵的和
print(A + B)
```
输出结果:
```
tensor([[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],
[5., 5., 5., 5., 5., 5., 5., 5., 5., 5.]])
```
3.代码实现:
```python
import torch
x = torch.tensor([1.0, 2.0], requires_grad=True)
y = x**3 + 2*x**2 + 3*x + 1
y.backward(torch.ones_like(x))
print("梯度值:", x.grad)
```
输出结果:
```
梯度值: tensor([ 8., 25.])
```
阅读全文