译(五十)-Pytorch转换Tensor至numpy数组
如有翻译问题欢迎评论指出,谢谢。
Pytorch tensor 转为 numpy array
DukeLover asked:
- 对于一个大小为
torch.Size([4, 3, 966, 1296])的pytorch Tensor, - 我想用下面的代码把它转成
numpy数组: imgs = imgs.numpy()[:, ::-1, :, :]- 可以解释一下这句代码吗?
- 对于一个大小为
Answers:
azizbro - vote: 86
我觉得你还得加上
detach()。我在利用CUDA和GPU进行计算的Colab上用下面的代码来实现张量和numpy数组的转换:# this is just my embedding matrix which is a Torch tensor object embedding = learn.model.u_weight # embedding_list = list(range(0, 64382)) # input = torch.cuda.LongTensor(embedding_list) tensor_array = embedding(input) # the output of the line below is a numpy array tensor_array.cpu().detach().numpy()Scott - vote: 29
试试这个:
np_arr = torch_tensor.cpu().detach().numpy()Maaz Bin Musa - vote: 24
因为这个张量里有四个维度。
[:, ::-1, :, :]:表示第一、第三、第四维度在转换时保持不变。::-1表示第二维度需要翻转。
Pytorch tensor to numpy array
DukeLover asked:
- I have a
pytorchTensor of sizetorch.Size([4, 3, 966, 1296])
对于一个大小为torch.Size([4, 3, 966, 1296])的pytorch Tensor, - I want to convert it to
numpyarray using the following code:
我想用下面的代码把它转成numpy数组: imgs = imgs.numpy()[:, ::-1, :, :]- Can anyone please explain what this code is doing ?
可以解释一下这句代码吗?
- I have a
Answers:
azizbro - vote: 86
I believe you also have to use
.detach(). I had to convert my Tensor to a numpy array on Colab which uses CUDA and GPU. I did it like the following:
我觉得你还得加上detach()。我在利用CUDA和GPU进行计算的Colab上用下面的代码来实现张量和numpy数组的转换:# this is just my embedding matrix which is a Torch tensor object embedding = learn.model.u_weight # embedding_list = list(range(0, 64382)) # input = torch.cuda.LongTensor(embedding_list) tensor_array = embedding(input) # the output of the line below is a numpy array tensor_array.cpu().detach().numpy()Scott - vote: 29
This worked for me:
试试这个:np_arr = torch_tensor.cpu().detach().numpy()Maaz Bin Musa - vote: 24
There are 4 dimensions of the tensor you want to convert.
因为这个张量里有四个维度。[:, ::-1, :, :]:means that the first dimension should be copied as it is and converted, same goes for the third and fourth dimension.
:表示第一、第三、第四维度在转换时保持不变。::-1means that for the second axes it reverses the the axes
::-1表示第二维度需要翻转。


共有 0 条评论