* array str 转 int b = a.astype(int)
* 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类型
* 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]])