您好,登錄后才能下訂單哦!
本篇內容介紹了“Pytorch數據類型與轉換的方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.首先講下torch.tensor,默認整型數據類型為torch.int64,浮點型為torch.float32
2.這是我認為平常最愛用的轉數據類型的方法,可以用dtype去定義數據類型
1.這個函數不要亂用,首先它可以將變量轉化為浮點型32位,這里注意此時的變量類型為列表,或數組等,此時參數為單個變量
2.當函數參數為整形時,表示生成矩陣的維度,此時參數可以為多個變量
補充:還有一種方法通過numpy數組定義數據類型,再轉化為tensor,這個方法不多講了。
Pytorch的類型可以分為CPU和GPU上的Tensor, 它們擁有的數據類型是基本上是一樣的:
tensor.FloatTensor
tensor.LongTensor
tensor.ByteTensor
tensor.CharTensor
tensor.ShortTensor
tensor.IntTensor
torch.LongTensor
其中torch.Tensor
是默認的tensor.FloatTensor
的簡稱。
tensor = torch.Tensor(3, 5) ## torch.long() 將tensor投射為long類型: newtensor = torch.long() ## torch.int()將該tensor投射為int類型: newtensor = torch.int() ## torch.double()將該tensor投射為double類型: newtensor = torch.double()
一般,只要在Tensor后加long(), int(), double(), float(), byte()
等函數就能將Tensor的類型進行轉換
除此之外,可以使用type()
函數,data為Tensor數據類型,data.type()給出data的類型,如果使用data.type(torch.FloatTensor)
則強制轉換為torch.FloatTensor
類型的張量, 如果不知道什么類型,可以使用tensor_1.type_as(tensor_2)
, 將tensor_1
轉換成tensor_2
。
self = torch.LongTensor(3, 5) # 轉換為其他類型 print self.type(torch.FloatTensor)
如果沒有特別說明:tensor是cpu上的變量
使用gpu張量:tensor.cuda()
使用cpu張量:tensor.cpu()
Variable轉換成普通的Tensor: variable.data()
Tesnor轉換成numpy array的格式:tensor.numpy()
numpy數據轉換成Tensor: torch.from_numpy(np_data)
Tensor轉換成Variable: Variable(tensor)
Pytorch數據類似pytorch中的tensor, 更重要的是tensor可以使用GPU來加速,并且變成Variable可以實現自動求導的功能,Variable是對Tensor對象的封裝。
print(y) print(y+0) ## 輸出結果 tensor([ True, False, False, True, True, False, False, True, True, False]) tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 0])
“Pytorch數據類型與轉換的方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。