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:43 浏览: 99
1. 代码如下:
```python
import torch
a = torch.tensor([1, 2, 3, 4])
b = torch.tensor([5, 6, 7, 8])
# 计算和、差、积、商
c = a + b
d = a - b
e = a * b
f = a / b
# 打印结果
print("和:", c)
print("差:", d)
print("积:", e)
print("商:", f)
```
输出结果:
```
和: 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和B
A = torch.ones(10, 10) * 2
B = torch.ones(10, 10) * 3
# 计算矩阵和
C = A + B
# 打印结果
print(C)
```
输出结果:
```
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) # 设置requires_grad=True,开启自动求导功能
y = x ** 3 + 2 * x ** 2 + 3 * x + 1 # 定义函数y
y.backward(torch.ones(2)) # 反向传播,计算梯度
print(x.grad) # 打印梯度值
```
输出结果:
```
tensor([10., 25.])
```
阅读全文