PyTorch  list tensor array 用法

PyTorch list tensor array 用法

1、torch.Tensor 转 numpy

import torch
#ndarray = tensor.numpy()
#ndarray = tensor.cpu().numpy()
x = torch.randn(10)
arr = x.numpy()
print(x)
print(arr)
#print(arr[0])

for z in arr:
    print(z)
tensor([-0.3291, -0.9795, -0.2297, -0.2418,  0.1019,  0.0910, -0.8200,  2.0651,
         1.3605, -0.1598])
[-0.32914537 -0.9794707  -0.22972724 -0.24182056  0.1019427   0.09099799
 -0.81996155  2.0650983   1.3605494  -0.15978478]
-0.32914537
-0.9794707
-0.22972724
-0.24182056
0.1019427
0.09099799
-0.81996155
2.0650983
1.3605494
-0.15978478

2、numpy 转 torch.Tensor
tensor = torch.from_numpy(ndarray)

import torch
import numpy as np

#tensor = torch.from_numpy(ndarray)
arr = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
z = torch.from_numpy(arr)
print(arr)
print(z)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]], dtype=torch.int32)

3、torch.Tensor 转 list
list = tensor.numpy().tolist()

import torch

m = torch.randn(10)
m_list = m.numpy().tolist()

print(m)
print(m_list)
tensor([-0.6831, -0.2703,  1.0755, -2.3199, -1.1258, -0.3573, -1.4791,  0.8089,
         0.1605, -0.2801])
[-0.6831207871437073, -0.2703227400779724, 1.075508713722229, -2.3199448585510254, -1.125805377960205, -0.3572894036769867, -1.4790899753570557, 0.808900773525238, 0.16054047644138336, -0.2800646126270294]

4、list 转 numpy
ndarray = np.array(list)

import torch

z_list = [0, 1, 2, 3, 4, 5]
z_arr = np.array(z_list)
print(z_list)
print(z_arr)
[0, 1, 2, 3, 4, 5]
[0 1 2 3 4 5]

5、numpy 转 list
list = ndarray.tolist()

import torch
import numpy as np

#list = ndarray.tolist()

z_arr = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
z_list = z_arr.tolist()
print(z_arr)
print(z_list)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

 

发表回复

您的电子邮箱地址不会被公开。