pytorch中tensor張量資料型別的轉化方式

2022-10-03 21:54:17 字數 2430 閱讀 7353

1.tensor張量與numpy相互轉換

tensor ----->numpy

import torch

a=torch.ones([2,5])

tensor([[1., 1., 1., 1., 1.],

[1.,程式設計客棧 1., 1., 1., 1.]])

# **********************************

b=a.numpy()

array([[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.]], dtype=float32)

numpy ----->tensor

import numpy as np

a=np.ones([2,5])

array([[1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1.]])

# **********************************

b=torch.from_numpy(a)

tensor([[1., 1., 1., 1., 1.],

[1., 1vlnxfo., 1., 1., 1.]], dtype=torch.float64)

2.tensor張量與list相互轉換

tensor—>list

a=torch.ones([1,5])

tensor([[1., 1., 1., 1., 1.]])

# ***********************************

b=a.tolist()

[[1.0, 1.0, 1.0, 1.0, 1.0]]

list—>tensor

a=list(range(1,6))

[1, 2, 3, 4, 5]

# **********************************

b=torch.tensor(a)

tensor([1, 2, 3, 4, 5])

3.tensor張量見型別轉換

構建乙個新的張量,你要轉變成不同的型別只需要根據自己的需求選擇即可

tensor = torch.tensor(3, 5)

# torch.long() 將tensor投射為long型別

newtensor = tensor.long()

# torch.half()將tensor投射為半精度浮點型別

newtensor = tensor.half()

# torch.int()將該tensor投射為int型別

newtensor = tensor.int()

# torch.double()將該tensor投射為double型別

newtensor = tensor.double()

# torch.float()將該tensor投射為float型別

newtensor = tensor.float()

# torch.char()將該tensor投射為char型別

newtensor = tensor.char()

# torch.byte()將該tensor投射為byte型別

newtensor = tensor.byte()

# torch.short()將該tensor投射為short型別

newtensor = tensor.short()

4.type_as() 將張量轉換成指定型別張量

>>> a=torch.tensor(2,5)

>>> a

tensor([[1.9431e-19, 4.8613e+30, 1.4603e-19, 2.0704e-19, 4.7429e+30],

[1.6530e+19, 1.8254e+31, 1.4607e-19, 6.8801e+16, 1.8370e+25]])

>>> b=torch.inttensor(1,2)

>>> b

tensor([[16843009, 1]], dtype=torch.int32)vlnxfo

>>> a.type_as(b)

tensor([[ 0, -2147483648, 0, 0, -2147483648],

[-2147483648, -2147483648, 0, -2147483648, -2147483648]],

dtype=torch.int32)

>>> a

tensor([[1.9431e-19, 4.8613e+30, 1.4603e-19, 2.0704e-19, 4.7429e+30],

[1.6530e+19, 1.8254e+程式設計客棧31, 1.4607e-19, 6.8801e+16, 1.8370e+25]])

本文標題: pytorch中tensor張量資料型別的轉化方式

本文位址:

pytorch中tensor型別轉換

tensor轉numpy tensor.numpy numpy轉tensor torch.from numpy 2 tensor與list tensor轉list tensor.tolist list轉tensor torch.tensor 3 tensor型別轉換 tensor torch.ten...

pytorch中tensor的型別轉換

1 資料型別轉換 在tensor後加 long int float double 等即可,也可以用.to 函式進行轉換,所有的tensor型別可參考 2 資料儲存位置轉換 cpu張量 gpu張量,使用data.cuda gpu張量 cpu張量,使用data.cpu 3 與numpy資料型別轉換 te...

pytorch中的Tensor使用入門

1.3 級聯操作cat 1.4 常用tensor 1.5 tensor在cnn中的形式 1.6 element wise 直接建立 t torch.rand 3,4 把numpy轉為tensor t np.random.rand 3,4 torch.tensor是呼叫乙個類,會預設把data轉為fl...