torch.tensor用法
时间: 2023-06-21 19:18:08 浏览: 93
`torch.tensor` 是 PyTorch 中用于创建张量(tensor)的函数。张量是多维数组,是 PyTorch 中最基本的数据类型,类似于 NumPy 中的数组。
`torch.tensor` 的基本用法是将一个列表或数组转换为张量。例如,可以使用以下代码创建一个 2x3 的浮点型张量:
```
import torch
a = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]])
print(a)
```
输出结果:
```
tensor([[1., 2., 3.],
[4., 5., 6.]])
```
`torch.tensor` 还可以指定数据类型,例如创建一个整型张量:
```
b = torch.tensor([1, 2, 3], dtype=torch.int)
print(b)
```
输出结果:
```
tensor([1, 2, 3], dtype=torch.int32)
```
除了列表和数组,`torch.tensor` 还可以从其它 PyTorch 张量创建新的张量。例如,可以使用以下代码将一个浮点型张量转换为整型张量:
```
c = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]])
d = torch.tensor(c, dtype=torch.int)
print(d)
```
输出结果:
```
tensor([[1, 2, 3],
[4, 5, 6]], dtype=torch.int32)
```
`torch.tensor` 还可以指定张量的设备,例如将张量存储在 GPU 上:
```
e = torch.tensor([1, 2, 3], device='cuda')
print(e)
```
输出结果:
```
tensor([1, 2, 3], device='cuda:0')
```
这里的 `cuda:0` 表示张量存储在第一个GPU上。如果有多个 GPU,则可以指定不同的设备编号,例如 `cuda:1` 表示存储在第二个 GPU 上。如果不想指定设备,则可以将设备设置为 `None`,张量将存储在 CPU 上:
```
f = torch.tensor([1, 2, 3], device=None)
print(f)
```
输出结果:
```
tensor([1, 2, 3])
```
阅读全文