PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
在使用Tensor時(shí),我們首先要掌握如何使用Tensor來定義不同數(shù)據(jù)類型的變量。Tensor時(shí)張量的英文,表示多維矩陣,和numpy對應(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é)束值和步長,其中,步長用于指定從起始值到結(jié)束值得每步得數(shù)據(jù)間隔
二:Tensor的運(yùn)算
通過對Tensor數(shù)據(jù)類型的變量進(jìn)行運(yùn)算,來組合一些簡單或者復(fù)雜的算法,常用的Tensor運(yùn)算如下。
1.torch.abs:將參數(shù)傳遞到torch.abs后返回輸入?yún)?shù)的絕對值作為輸出,輸入?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:對輸入?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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
學(xué)習(xí)python 的while循環(huán)嵌套
這篇文章主要為大家介紹了python 的while循環(huán)嵌套,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
跟老齊學(xué)Python之一個(gè)免費(fèi)的實(shí)驗(yàn)室
學(xué)習(xí)Python也要做實(shí)驗(yàn),也就是嘗試性地看看某個(gè)命令到底什么含義。在《集成開發(fā)環(huán)境(IDE)》一章中,我們介紹了Python的IDE時(shí),給大家推薦了IDLE,進(jìn)入到IDLE中,看到>>>符號(hào),可以在后面輸入一行指令。其實(shí),這就是一個(gè)非常好的實(shí)驗(yàn)室。2014-09-09
Python opencv相機(jī)標(biāo)定實(shí)現(xiàn)原理及步驟詳解
這篇文章主要介紹了Python opencv相機(jī)標(biāo)定實(shí)現(xiàn)原理及步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Python使用type動(dòng)態(tài)創(chuàng)建類操作示例
這篇文章主要介紹了Python使用type動(dòng)態(tài)創(chuàng)建類操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用type動(dòng)態(tài)創(chuàng)建類的具體原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
python tkinter Entry控件的焦點(diǎn)移動(dòng)操作
這篇文章主要介紹了python tkinter Entry控件的焦點(diǎn)移動(dòng)操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python實(shí)現(xiàn)圖書館搶座(自動(dòng)預(yù)約)功能的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)圖書館搶座(自動(dòng)預(yù)約)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Python使用matplotlib繪制Logistic曲線操作示例
這篇文章主要介紹了Python使用matplotlib繪制Logistic曲線操作,結(jié)合實(shí)例形式詳細(xì)分析了Python基于matplotlib庫繪制Logistic曲線相關(guān)步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11
Python使用CuPy模塊實(shí)現(xiàn)高效數(shù)值計(jì)算
CuPy是一個(gè)基于Python的GPU加速計(jì)算庫,它提供了與NumPy相似的接口,可以在GPU上進(jìn)行高效的數(shù)值計(jì)算,本文主要介紹一下CuPy的應(yīng)用場景,并給出一些Python代碼案例,需要的可以參考下2024-02-02

