pytorch常見的Tensor類型詳解
Tensor有不同的數(shù)據(jù)類型,每種類型分別有對應(yīng)CPU和GPU版本(HalfTensor除外)。默認(rèn)的Tensor是FloatTensor,可通過torch.set_default_tensor_type修改默認(rèn)tensor類型(如果默認(rèn)類型為GPU tensor,則所有操作都將在GPU上進(jìn)行)。
Tensor的類型對分析內(nèi)存占用很有幫助,例如,一個size為(1000,1000,1000)的FloatTensor,它有1000*1000*1000=10^9個元素,每一個元素占用32bit/8=4Byte內(nèi)存,所以共占用大約4GB內(nèi)存/顯存。HalfTensor是專為GPU版本設(shè)計的,同樣的元素個數(shù),顯存占用只有HalfTensor的一半,所以可以極大緩解GPU顯存不足的問題,但是由于HalfTensor所能表示的數(shù)值大小和精度有限,所以可能出現(xiàn)溢出等問題。
數(shù)據(jù)類型 | 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 |
各數(shù)據(jù)類型之間可以互相轉(zhuǎn)換,type(new_type)是通用的做法,同時還有float、long、half等快捷方法。CPU tensor和GPU tensor之間的互換是通過tensor.cuda和tensor.cpu的方法實現(xiàn)。
如:
#設(shè)置默認(rèn)tensor,注意參數(shù)是字符串 torch.set_default_tensor_type('torch.IntTensor') a=torch.Tensor(2,3) print(a) #a現(xiàn)在是IntTensor
以上這篇pytorch常見的Tensor類型詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)購物系統(tǒng)(示例講解)
下面小編就為大家?guī)硪黄狿ython實現(xiàn)購物系統(tǒng)(示例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09Python常駐任務(wù)實現(xiàn)接收外界參數(shù)代碼解析
這篇文章主要介紹了Python常駐任務(wù)實現(xiàn)接收外界參數(shù)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07Python打包文件執(zhí)行報錯:ModuleNotFoundError: No module 
這篇文章給大家介紹了Python打包文件執(zhí)行報錯:ModuleNotFoundError: No module named ‘pymssql‘的解決方法,如果有遇到相同問題的朋友可以參考閱讀一下本文2023-10-10python光學(xué)仿真相速度和群速度計算理解學(xué)習(xí)
從物理學(xué)的機(jī)制出發(fā),波動模型相對于光線模型,顯然更加接近光的本質(zhì);但是從物理學(xué)的發(fā)展來說,波動光學(xué)旨在解決幾何光學(xué)無法解決的問題,可謂光線模型的一種升級2021-10-10Pandas數(shù)據(jù)分析之pandas文本處理
這篇文章主要介紹了Pandas數(shù)據(jù)分析之pandas文本處理,pandas對文本數(shù)據(jù)也有很多便捷處理方法,可以不用寫循環(huán),向量化操作運(yùn)算速度快,還可以進(jìn)行高級的正則表達(dá)式,各種復(fù)雜的邏輯篩選和匹配提取信息2022-08-08PyQt5下拉式復(fù)選框QComboCheckBox的實例
今天小編就為大家分享一篇PyQt5下拉式復(fù)選框QComboCheckBox的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06