list转Tensor不同方式的速度对比

(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是最快的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值