numpy array / pytorch tensor 数据类型转换

本文详细介绍如何在Python中使用NumPy和PyTorch进行各种数据类型转换,包括array到int、numpy数组到tensor、tensor的float到long类型转换,以及如何在不同设备间如CPU和CUDA进行类型转换。
摘要由CSDN通过智能技术生成
  1. array str 转 int
b = a.astype(int)
  1. numpy 转 tensor
a = numpy.array([1, 2, 3])
t = torch.from_numpy(a)
print(t)

#tensor([ 1,  2,  3])

3.tensor float 转long

import torch

a = torch.rand(3,3)
print(a)

b = a.long()
print(b)

# tensor([[0.1139, 0.3460, 0.4478],
#         [0.0205, 0.9585, 0.0103],
#         [0.2299, 0.5627, 0.1236]])
# tensor([[0, 0, 0],
#         [0, 0, 0],
#         [0, 0, 0]])

tensor传cuda再转long

import torch

a = torch.rand(3,3)
print(a)

b = a.type(torch.cuda.LongTensor)
print(b)

#tensor([[0.6625, 0.0186, 0.0780],
#         [0.3266, 0.0136, 0.3116],
#         [0.8770, 0.2193, 0.1572]])
# tensor([[0, 0, 0],
#         [0, 0, 0],
#         [0, 0, 0]], device='cuda:0')

tensor数据类型转换

torch.long() 将tensor转换为long类型

torch.half() 将tensor转换为半精度浮点类型

torch.int() 将该tensor转换为int类型

torch.double() 将该tensor转换为double类型

torch.float() 将该tensor转换为float类型

torch.char() 将该tensor转换为char类型

torch.byte() 将该tensor转换为byte类型

torch.short() 将该tensor转换为short类型
  1. b转换成和a一样的类型
import torch

a = torch.Tensor(2, 3)
b = a.long()
c = a.type_as(b)

print(a)
print(b)
print(c)

# tensor([[5.5168e+15, 0.0000e+00, 8.4078e-45],
#         [0.0000e+00, 1.4013e-45, 0.0000e+00]])
# tensor([[5516833952104448,                0,                0],
#         [               0,                0,                0]])
# tensor([[5516833952104448,                0,                0],
#         [               0,                0,                0]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Enzo 想砸电脑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值