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