PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
在使用Tensor時(shí),我們首先要掌握如何使用Tensor來定義不同數(shù)據(jù)類型的變量。Tensor時(shí)張量的英文,表示多維矩陣,和numpy對(duì)應(yīng),PyTorch中的Tensor可以和numpy的ndarray相互轉(zhuǎn)換,唯一不同的是PyTorch可以在GPU上運(yùn)行,而numpy的ndarray只能在cpu上運(yùn)行。
常用的不同數(shù)據(jù)類型的Tensor,有32位的浮點(diǎn)型torch.FloatTensor, 64位浮點(diǎn)型 torch.DoubleTensor, 16位整形torch.ShortTensor, 32位整形torch.IntTensor和64位整形torch.LongTensor
一:Tensor的數(shù)據(jù)類型
1 torch.FloatTensor:用于生成數(shù)據(jù)類型為浮點(diǎn)型的Tensor,傳遞給torch.FloatTensor的參數(shù)可以是一個(gè)列表,也可以是一個(gè)維度值
2:torch.IntTensor:用于生成數(shù)據(jù)類型為整形的Tensor,傳遞給torch.IntTensor的參數(shù)可以是一個(gè)列表,也可以是一個(gè)維度值
3:torch.rand:用于生成數(shù)據(jù)類型為浮點(diǎn)型且維度指定的隨機(jī)Tensor,和在NumPy中使用的numpy.rand生成隨機(jī)數(shù)的方法類似,隨機(jī)生成的浮點(diǎn)數(shù)據(jù)在0-1區(qū)間均勻分布
4:torch.randn:用于生成數(shù)據(jù)類型為浮點(diǎn)型且維度指定的隨機(jī)Tensor,和在NumPy中使用numpy.randn生成隨機(jī)數(shù)的方法類似,隨機(jī)生成的浮點(diǎn)數(shù)的取值滿足均值為0,方差為1的正態(tài)分布
5:torch.range:用于生成數(shù)據(jù)類型為浮點(diǎn)型且自定義起始范圍和結(jié)束范圍的Tensor,所以傳遞給torch.range的參數(shù)有三個(gè),分別是范圍的起始值,范圍的結(jié)束值和步長(zhǎng),其中,步長(zhǎng)用于指定從起始值到結(jié)束值得每步得數(shù)據(jù)間隔
二:Tensor的運(yùn)算
通過對(duì)Tensor數(shù)據(jù)類型的變量進(jìn)行運(yùn)算,來組合一些簡(jiǎn)單或者復(fù)雜的算法,常用的Tensor運(yùn)算如下。
1.torch.abs:將參數(shù)傳遞到torch.abs后返回輸入?yún)?shù)的絕對(duì)值作為輸出,輸入?yún)?shù)必須是一個(gè)Tensor數(shù)據(jù)類型的變量。
2.torch.add:將參數(shù)傳遞到torch.add后返回輸入?yún)?shù)的求和結(jié)果作為輸出,輸入?yún)?shù)可以全部是Tensor數(shù)據(jù)類型的變量,也可以一個(gè)是Tensor數(shù)據(jù)類型的變量,另一個(gè)是標(biāo)量。
3.torch.clamp:對(duì)輸入?yún)?shù)按照自定義的范圍進(jìn)行裁剪,最后將參數(shù)裁剪的結(jié)果作為輸出。所以輸入?yún)?shù)一共有三個(gè),分別是需要進(jìn)行裁剪的一共三個(gè),分別是需要進(jìn)行裁剪的Tensor數(shù)據(jù)類型的變量,裁剪的上邊界,下邊界。過程是,讓變量的每個(gè)元素分別和上下邊界比較,如果小于下邊界,該元素就被重寫下邊界的值,如果大于上邊界,該元素就被重寫上邊界的值。
4.torch.div:將參數(shù)傳遞到torch.div后返回輸入?yún)?shù)的求商結(jié)果作為輸出,同樣,參與運(yùn)算的參數(shù)可以全部是Tensor數(shù)據(jù)類型的變量,也可以是Tensor數(shù)據(jù)類型的變量和標(biāo)量的組合
5.torch.mul:將參數(shù)傳遞到torch.mul后返回輸入?yún)?shù)求積的結(jié)果作為輸出,參與運(yùn)算的參數(shù)可以全部是Tensor數(shù)據(jù)類型的變量,
也可以是Tensor數(shù)據(jù)類型的變量和標(biāo)量的組合
6.torch.pow:將參數(shù)傳遞到torch.pow后返回輸入?yún)?shù)的求冪結(jié)果作為輸出,參與運(yùn)算的參數(shù)可以全部是Tensor數(shù)據(jù)類型的變量,
也可以是Tensor數(shù)據(jù)類型的變量和標(biāo)量的組合
就是a的b次方
7.torch.mm:將參數(shù)傳遞到torch.mm后返回輸入?yún)?shù)的求積結(jié)果作為輸出,不過這個(gè)求積結(jié)果的方式和之前的torch.mul運(yùn)算方式不一樣,toch.mm運(yùn)用矩陣之間的乘法法則進(jìn)行計(jì)算,所以被傳入的參數(shù)會(huì)被當(dāng)作矩陣進(jìn)行處理,參數(shù)的維度自然也要滿足矩陣乘法的前提條件,即前一個(gè)矩陣的行數(shù)必須和后一個(gè)矩陣的列數(shù)相等,否則不能計(jì)算。
8.torch.mv:將參數(shù)傳遞到torch.mv后返回輸入?yún)?shù)的求積結(jié)果作為輸出,torch.mv運(yùn)用矩陣與向量之間的乘法規(guī)則進(jìn)行計(jì)算,被傳入的第一個(gè)參數(shù)代表矩陣,第二個(gè)參數(shù)代表向量,順序不能顛倒
到此這篇關(guān)于PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用的文章就介紹到這了,更多相關(guān)PyTorch Tensor數(shù)據(jù)類型和運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Pycharm無法import自己安裝的第三方module問題
今天小編就為大家分享一篇解決Pycharm無法import自己安裝的第三方module問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python使用tarfile模塊實(shí)現(xiàn)免費(fèi)壓縮解壓
Python自帶的tarfile模塊可以方便讀取tar歸檔文件,厲害的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2,這篇文章主要介紹了Python使用tarfile模塊實(shí)現(xiàn)免費(fèi)壓縮解壓,需要的朋友可以參考下2024-03-03python3安裝pip3(install pip3 for python 3.x)
這篇文章主要為大家詳細(xì)介紹了install pip3 for python 3.x,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python實(shí)現(xiàn)雙進(jìn)程防止單點(diǎn)故障實(shí)例深度探究
在分布式系統(tǒng)中,確保系統(tǒng)的高可用性是至關(guān)重要的,本文將深入探討如何使用Python實(shí)現(xiàn)雙進(jìn)程自我保護(hù)機(jī)制,以應(yīng)對(duì)單點(diǎn)故障,確保系統(tǒng)穩(wěn)定運(yùn)行,將通過詳實(shí)的示例代碼,介紹雙進(jìn)程自我保護(hù)的原理、實(shí)現(xiàn)步驟以及可能遇到的挑戰(zhàn)2024-01-01python在Windows8下獲取本機(jī)ip地址的方法
這篇文章主要介紹了python在Windows8下獲取本機(jī)ip地址的方法,涉及Python中socket包相關(guān)函數(shù)的使用技巧,需要的朋友可以參考下2015-03-03Python數(shù)據(jù)處理的三個(gè)實(shí)用技巧分享
數(shù)據(jù)處理無所不在,掌握常用技巧,事半功倍。這篇文章將使用Pandas開展數(shù)據(jù)處理分析,總結(jié)其中常用、好用的數(shù)據(jù)分析技巧,感興趣的可以學(xué)習(xí)一下2022-04-04Python實(shí)現(xiàn)EM算法實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)EM算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python利用Matplotlib繪圖無法顯示中文字體的解決方案
在很長(zhǎng)一段時(shí)間里用Python繪圖,matplotlib都不能很好的顯示中文,下面這篇文章主要給大家介紹了關(guān)于Python利用Matplotlib繪圖無法顯示中文字體的解決方案,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04淺談pyhton學(xué)習(xí)中出現(xiàn)的各種問題(新手必看)
下面小編就為大家?guī)硪黄獪\談pyhton學(xué)習(xí)中出現(xiàn)的各種問題(新手必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05