您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“pytorch中Tensor類型的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“pytorch中Tensor類型的示例分析”這篇文章吧。
Tensor有不同的數據類型,每種類型分別有對應CPU和GPU版本(HalfTensor除外)。默認的Tensor是FloatTensor,可通過torch.set_default_tensor_type修改默認tensor類型(如果默認類型為GPU tensor,則所有操作都將在GPU上進行)。
Tensor的類型對分析內存占用很有幫助,例如,一個size為(1000,1000,1000)的FloatTensor,它有1000*1000*1000=10^9個元素,每一個元素占用32bit/8=4Byte內存,所以共占用大約4GB內存/顯存。HalfTensor是專為GPU版本設計的,同樣的元素個數,顯存占用只有HalfTensor的一半,所以可以極大緩解GPU顯存不足的問題,但是由于HalfTensor所能表示的數值大小和精度有限,所以可能出現溢出等問題。
數據類型 | CPU Tensor | GPU Tensor |
32 bit 浮點 | torch.FloatTensor | torch.cuda.FloatTensor |
64 bit 浮點 | torch.DoubleTensor | torch.cuda.DoubleTensor |
16 bit 半精度浮點 | N/A | torch.cuda.HalfTensor |
8 bit 無符號整形(0~255) | torch.ByteTensor | torch.cuda.ByteTensor |
8 bit 有符號整形(-128~127) | torch.CharTensor | torch.cuda.CharTensor |
16 bit 有符號整形 | torch.ShortTensor | torch.cuda.ShortTensor |
32 bit 有符號整形 | torch.IntTensor | torch.cuda.IntTensor |
64 bit 有符號整形 | torch.LongTensor | torch.cuda LongTensor |
各數據類型之間可以互相轉換,type(new_type)是通用的做法,同時還有float、long、half等快捷方法。CPU tensor和GPU tensor之間的互換是通過tensor.cuda和tensor.cpu的方法實現。
如:
#設置默認tensor,注意參數是字符串 torch.set_default_tensor_type('torch.IntTensor') a=torch.Tensor(2,3) print(a) #a現在是IntTensor
以上是“pytorch中Tensor類型的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。