📜  如何将 Pytorch 张量转换为 Numpy 数组?(1)

📅  最后修改于: 2023-12-03 15:38:44.343000             🧑  作者: Mango

如何将 Pytorch 张量转换为 Numpy 数组?

在 Pytorch 中,张量是一种常用数据类型,其类似于 Numpy 中的数组。有时候我们需要将 Pytorch 张量转换为 Numpy 数组,以便于在其他库中使用,如 Matplotlib、Scikit-learn 等。

Pytorch 提供了一个简单的方法进行张量与 Numpy 数组的转换,下面是具体实现方式:

import torch
import numpy as np

# 定义一个 Pytorch 张量
x = torch.randn((2,3))

# 将 Pytorch 张量转换为 Numpy 数组
y = x.numpy()

# 打印 Numpy 数组
print(y)

输出结果如下:

[[-0.4525144  -2.0698307   0.8875261 ]
 [-1.2858311   0.8177249   0.05733321]]

此外,如果需要将 Numpy 数组转换为 Pytorch 张量,也可以使用类似的方法进行转换:

import torch
import numpy as np

# 定义一个 Numpy 数组
x = np.array([[1,2,3],[4,5,6]])

# 将 Numpy 数组转换为 Pytorch 张量
y = torch.from_numpy(x)

# 打印 Pytorch 张量
print(y)

输出结果如下:

tensor([[1, 2, 3],
        [4, 5, 6]], dtype=torch.int32)

上述方法中,torch.from_numpy() 方法用于将 Numpy 数组转换为 Pytorch 张量,其返回的是一个新的张量,而不是共享数据的视图。

以上是关于如何将 Pytorch 张量转换为 Numpy 数组的介绍,希望能帮助到各位程序员。