(1)纯list(list->tensor)
import numpy as np
import torch
import time
ls=[ [ [ [1 for s in range(200)] for k in range(3)] for j in range(256)]for i in range(256)]
st=time.time()
torch.tensor(np.array(ls))
print(time.time()-st)
运行结果:
1.7645635604858398
(2)纯list(list->numpy->tensor)
import numpy as np
import torch
import time
ls=[ [ [ [1 for s in range(200)] for k in range(3)] for j in range(256)]for i in range(256)]
st=time.time()
torch.tensor(ls)
print(time.time()-st)
运行结果:
1.1882526874542236
(3)含numpy的list(list->numpy->tensor)
import numpy as np
import torch
import time
ls=[np.ones((3,256,256)) for i in range(200)]
st=time.time()
torch.tensor(np.array(ls))
print(time.time()-st)
运行结果:
0.10957527160644531
(4)含numpy的list(list->tensor)
import numpy as np
import torch
import time
ls=[np.ones((3,256,256)) for i in range(200)]
st=time.time()
torch.tensor(ls)
print(time.time()-st)
运行结果:
2.554304599761963
结论就是,存在numpy的时候先转numpy再转Tensor是最快的;纯list使用直接转Tensor最快的;综合来说,先转numpy再转Tensor是最快的。