torch.Tensor是如何转化的
时间: 2024-05-15 13:19:30 浏览: 82
torch.Tensor可以由多种方式进行创建和转化,包括:
1. 从Python列表或Numpy数组进行转化:
```python
import torch
import numpy as np
# 从Python列表创建Tensor
a = [1, 2, 3]
tensor_a = torch.Tensor(a)
print(tensor_a)
# 从Numpy数组创建Tensor
b = np.array([4, 5, 6])
tensor_b = torch.from_numpy(b)
print(tensor_b)
```
2. 通过torch.zeros()、torch.ones()、torch.randn()等函数创建Tensor:
```python
# 创建全0张量
tensor_c = torch.zeros((3, 3))
print(tensor_c)
# 创建全1张量
tensor_d = torch.ones((2, 4))
print(tensor_d)
# 创建随机数张量
tensor_e = torch.randn((2, 2))
print(tensor_e)
```
3. 通过Tensor自带的方法进行转化,例如reshape()、squeeze()、unsqueeze()等:
```python
# 修改张量形状
tensor_f = torch.randn((2, 3, 4))
tensor_g = tensor_f.reshape((3, 8))
print(tensor_g)
# 压缩维度
tensor_h = tensor_f.squeeze(0) # 压缩第0维度
print(tensor_h)
# 增加维度
tensor_i = tensor_h.unsqueeze(0) # 在第0维度增加一个维度
print(tensor_i)
```
以上是Tensor的常见转化方式,还有许多其他函数和方法也可以用于Tensor的转化。
阅读全文