array怎么变为tensor
时间: 2023-11-29 17:05:37 浏览: 69
在机器学习中,通常用tensor代表多维数组。如果你使用的是Python中的NumPy数组,可以使用以下方法将其转换为PyTorch中的tensor:
```python
import torch
import numpy as np
# 创建一个NumPy数组
arr = np.array([[1, 2], [3, 4]])
# 将NumPy数组转换为tensor
tensor = torch.from_numpy(arr)
print(tensor)
```
输出:
```
tensor([[1, 2],
[3, 4]])
```
如果你使用的是Python中的普通列表或其他类型的数组,可以将其转换为NumPy数组,然后再将其转换为tensor:
```python
import torch
import numpy as np
# 创建一个Python列表
lst = [[1, 2], [3, 4]]
# 将Python列表转换为NumPy数组
arr = np.array(lst)
# 将NumPy数组转换为tensor
tensor = torch.from_numpy(arr)
print(tensor)
```
输出:
```
tensor([[1, 2],
[3, 4]])
```
注意,这种方法会将数据复制到新的tensor中。如果你想在不复制数据的情况下创建一个tensor,可以使用`torch.as_tensor()`方法:
```python
import torch
import numpy as np
# 创建一个Python列表
lst = [[1, 2], [3, 4]]
# 将Python列表转换为NumPy数组
arr = np.array(lst)
# 将NumPy数组转换为tensor
tensor = torch.as_tensor(arr)
print(tensor)
```
输出:
```
tensor([[1, 2],
[3, 4]])
```
阅读全文