有没有办法转换 numpy 数组或 pytorch 张量?
is there a way to transform an numpy array or pytorch tensor?
我一直在图像数据集上尝试一些图像识别神经网络。我的图像位于形状为 [39209、30、30、3] 的数组(或张量)中。但是,对于我在 github 上找到的一些代码,我的图像需要具有数组形状 [39209, 3, 30, 30]。我以为会有一种快速的方法来转换数组,但事实证明它非常困难。有谁知道这是否可能?
您可以使用 torch.transpose
https://pytorch.org/docs/master/generated/torch.transpose.html
import torch
a = torch.ones((10, 30, 30, 3))
b = torch.transpose(a, 1, -1)
print(b.shape)
torch.Size([10, 3, 30, 30])
numpy
还有transpose
https://docs.scipy.org/doc/numpy/reference/generated/numpy.transpose.html
您可以使用 torch.permute()
:
x = torch.randn(1, 32, 32, 3).float()
x.shape
torch.Size([1, 32, 32, 3])
y = x.permute(0, 3, 1, 2)
y.shape
torch.Size([1, 3, 32, 32])
我一直在图像数据集上尝试一些图像识别神经网络。我的图像位于形状为 [39209、30、30、3] 的数组(或张量)中。但是,对于我在 github 上找到的一些代码,我的图像需要具有数组形状 [39209, 3, 30, 30]。我以为会有一种快速的方法来转换数组,但事实证明它非常困难。有谁知道这是否可能?
您可以使用 torch.transpose
https://pytorch.org/docs/master/generated/torch.transpose.html
import torch
a = torch.ones((10, 30, 30, 3))
b = torch.transpose(a, 1, -1)
print(b.shape)
torch.Size([10, 3, 30, 30])
numpy
还有transpose
https://docs.scipy.org/doc/numpy/reference/generated/numpy.transpose.html
您可以使用 torch.permute()
:
x = torch.randn(1, 32, 32, 3).float()
x.shape
torch.Size([1, 32, 32, 3])
y = x.permute(0, 3, 1, 2)
y.shape
torch.Size([1, 3, 32, 32])