如何把tensor转化成numpy
时间: 2023-08-04 09:03:51 浏览: 60
要将 PyTorch 中的 Tensor 转换为 NumPy 数组,可以使用 `.numpy()` 方法。示例代码如下:
```python
import torch
import numpy as np
# 创建一个 PyTorch Tensor
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 将 Tensor 转换为 NumPy 数组
x_np = x.numpy()
# 打印结果
print(x_np)
print(type(x_np))
```
输出结果:
```
array([[1, 2, 3],
[4, 5, 6]], dtype=int64)
<class 'numpy.ndarray'>
```
需要注意的是,这种转换实际上是共享数据内存的,也就是说,修改 NumPy 数组也会影响原来的 Tensor,反之亦然。如果想要避免这种情况,可以使用 `.clone()` 方法来复制张量,然后再进行转换。例如:
```python
import torch
import numpy as np
# 创建一个 PyTorch Tensor
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 复制张量
x_clone = x.clone()
# 将 Tensor 转换为 NumPy 数组
x_np = x_clone.numpy()
# 修改 NumPy 数组
x_np[0, 0] = 100
# 打印结果
print(x)
print(x_np)
```
输出结果:
```
tensor([[1, 2, 3],
[4, 5, 6]])
array([[100, 2, 3],
[ 4, 5, 6]], dtype=int64)
```
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)