list,numpy,tensor之间相互转换的方法

list,numpy,tensor之间相互转换的方法:

a=[[1,2],[3,4]]#list
print(a)
b=np.array(a)#list->numpy
print(b)
c=torch.tensor(a)#list->tensor
print(c)
print(b.tolist())#numpy->list
print(c.tolist())#tensor->list
print(torch.tensor(b))#numpy->tensor
print(torch.from_numpy(b))#同上
print(c.numpy())#tensor->numpy

在这里插入图片描述
对了,温馨提示,tensor可以在GPU上运行,其他两个都不可以,这就是为什么你用GPU运行的时候有时会报不是tensor的错误,必须先转化为tensor。
还有,GPU上的tensor不能直接转为numpy,需要先放到CPU上。

a=a.cpu()#放到CPU
a.numpy()#这才对。

放回GPU上?

a=a.cuda()#放到GPU

当然啦,cuda(),cpu()还有一种写法:

device=torch.device("cpu")#torch.device("cuda")
a=torch.tensor([1,2])
a.to(device)#放到CPU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

音程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值