pytorch: tensor類型的構(gòu)建與相互轉(zhuǎn)換實(shí)例
Summary
主要包括以下三種途徑:
使用獨(dú)立的函數(shù);
使用torch.type()函數(shù);
使用type_as(tesnor)將張量轉(zhuǎn)換為給定類型的張量。
使用獨(dú)立函數(shù)
import torch tensor = torch.randn(3, 5) print(tensor) # torch.long() 將tensor投射為long類型 long_tensor = tensor.long() print(long_tensor) # torch.half()將tensor投射為半精度浮點(diǎn)類型 half_tensor = tensor.half() print(half_tensor) # torch.int()將該tensor投射為int類型 int_tensor = tensor.int() print(int_tensor) # torch.double()將該tensor投射為double類型 double_tensor = tensor.double() print(double_tensor) # torch.float()將該tensor投射為float類型 float_tensor = tensor.float() print(float_tensor) # torch.char()將該tensor投射為char類型 char_tensor = tensor.char() print(char_tensor) # torch.byte()將該tensor投射為byte類型 byte_tensor = tensor.byte() print(byte_tensor) # torch.short()將該tensor投射為short類型 short_tensor = tensor.short() print(short_tensor)
-0.5841 -1.6370 0.1353 0.6334 -3.0761 -0.2628 0.1245 0.8626 0.4095 -0.3633 1.3605 0.5055 -2.0090 0.8933 -0.6267 [torch.FloatTensor of size 3x5] 0 -1 0 0 -3 0 0 0 0 0 1 0 -2 0 0 [torch.LongTensor of size 3x5] -0.5840 -1.6367 0.1353 0.6333 -3.0762 -0.2627 0.1245 0.8628 0.4094 -0.3633 1.3604 0.5054 -2.0098 0.8936 -0.6265 [torch.HalfTensor of size 3x5] 0 -1 0 0 -3 0 0 0 0 0 1 0 -2 0 0 [torch.IntTensor of size 3x5] -0.5841 -1.6370 0.1353 0.6334 -3.0761 -0.2628 0.1245 0.8626 0.4095 -0.3633 1.3605 0.5055 -2.0090 0.8933 -0.6267 [torch.DoubleTensor of size 3x5] -0.5841 -1.6370 0.1353 0.6334 -3.0761 -0.2628 0.1245 0.8626 0.4095 -0.3633 1.3605 0.5055 -2.0090 0.8933 -0.6267 [torch.FloatTensor of size 3x5] 0 -1 0 0 -3 0 0 0 0 0 1 0 -2 0 0 [torch.CharTensor of size 3x5] 0 255 0 0 253 0 0 0 0 0 1 0 254 0 0 [torch.ByteTensor of size 3x5] 0 -1 0 0 -3 0 0 0 0 0 1 0 -2 0 0 [torch.ShortTensor of size 3x5]
其中,torch.Tensor、torch.rand、torch.randn 均默認(rèn)生成 torch.FloatTensor型 :
import torch tensor = torch.Tensor(3, 5) assert isinstance(tensor, torch.FloatTensor) tensor = torch.rand(3, 5) assert isinstance(tensor, torch.FloatTensor) tensor = torch.randn(3, 5) assert isinstance(tensor, torch.FloatTensor)
使用torch.type()函數(shù)
type(new_type=None, async=False)
import torch tensor = torch.randn(3, 5) print(tensor) int_tensor = tensor.type(torch.IntTensor) print(int_tensor)
-0.4449 0.0332 0.5187 0.1271 2.2303 1.3961 -0.1542 0.8498 -0.3438 -0.2834 -0.5554 0.1684 1.5216 2.4527 0.0379 [torch.FloatTensor of size 3x5] 0 0 0 0 2 1 0 0 0 0 0 0 1 2 0 [torch.IntTensor of size 3x5]
使用type_as(tesnor)將張量轉(zhuǎn)換為給定類型的張量
import torch tensor_1 = torch.FloatTensor(5) tensor_2 = torch.IntTensor([10, 20]) tensor_1 = tensor_1.type_as(tensor_2) assert isinstance(tensor_1, torch.IntTensor)
以上這篇pytorch: tensor類型的構(gòu)建與相互轉(zhuǎn)換實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python創(chuàng)建列表和向列表添加元素的實(shí)現(xiàn)方法
下面小編就為大家分享一篇python創(chuàng)建列表和向列表添加元素的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
使用matplotlib實(shí)現(xiàn)在同一個(gè)窗口繪制多個(gè)圖形
這篇文章主要介紹了使用matplotlib實(shí)現(xiàn)在同一個(gè)窗口繪制多個(gè)圖形問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
基于Python實(shí)現(xiàn)網(wǎng)頁(yè)文章轉(zhuǎn)PDF文檔
有時(shí)候看到一篇好的文章,想去保存下來(lái),傳統(tǒng)方式一般是收藏書簽、復(fù)制粘貼到文檔或者直接復(fù)制鏈接保存,但這也太麻煩了。本文將用Python語(yǔ)言實(shí)現(xiàn)將網(wǎng)上的文章轉(zhuǎn)存為PDF文檔,保存電腦上慢慢看2022-05-05
VTK與Python實(shí)現(xiàn)機(jī)械臂三維模型可視化詳解
這篇文章主要介紹了VTK與Python實(shí)現(xiàn)機(jī)械臂三維模型可視化詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
python 申請(qǐng)內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例
今天小編就為大家分享一篇python 申請(qǐng)內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
用python實(shí)現(xiàn)超強(qiáng)的加密軟件
大家好,本篇文章主要講的是用python實(shí)現(xiàn)超強(qiáng)的加密軟件,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01

