pytorch基礎(chǔ)七(矩陣運算)

后文主要是對pytorch官網(wǎng)的文檔的總結(jié)筋帖。
代碼來自pytorch中文API

torch.squeeze(input, dim=None, out=None)

將輸入張量形狀中的1 去除并返回扇谣。 如果輸入是形如(A×1×B×1×C×1×D)帖池,那么輸出形狀就為: (A×B×C×D)踊赠。
當(dāng)給定dim時剂买,那么擠壓操作只在給定維度上玫荣。例如老玛,輸入形狀為: (A×1×B),squeeze(input, 0) 將會保持張量不變蜕青,只有用squeeze(input, 1)翠桦,形狀會變成(A×B)横蜒。
注意:返回張量與輸入張量共享內(nèi)存,所以改變其中一個的內(nèi)容會改變另一個销凑。

>>> x = torch.zeros(2,1,2,1,2)
>>> x.size()
(2L, 1L, 2L, 1L, 2L)
>>> y = torch.squeeze(x)
>>> y.size()
(2L, 2L, 2L)
>>> y = torch.squeeze(x, 0)
>>> y.size()
(2L, 1L, 2L, 1L, 2L)
>>> y = torch.squeeze(x, 1)
>>> y.size()
(2L, 2L, 1L, 2L)

torch.t(input, out=None) → Tensor

輸入一個矩陣(2維張量)丛晌,并轉(zhuǎn)置0, 1維。 可以被視為函數(shù)transpose(input, 0, 1)的簡寫函數(shù)斗幼。

>>> x = torch.randn(2, 3)
>>> x
 0.4834  0.6907  1.3417
-0.1300  0.5295  0.2321
[torch.FloatTensor of size 2x3]

>>> torch.t(x)
 0.4834 -0.1300
 0.6907  0.5295
 1.3417  0.2321
[torch.FloatTensor of size 3x2]

torch.unsqueeze(input, dim, out=None)

返回一個新的張量澎蛛,對輸入的制定位置插入維度 1。
如果dim為負(fù)蜕窿,則將會被轉(zhuǎn)化dim+input.dim()+1谋逻。

>>> x = torch.Tensor([1, 2, 3, 4])
>>> torch.unsqueeze(x, 0)
 1  2  3  4
[torch.FloatTensor of size 1x4]
>>> torch.unsqueeze(x, 1)
 1
 2
 3
 4
[torch.FloatTensor of size 4x1]

torch.ones(*sizes, out=None) → Tensor

返回一個全為1 的張量,形狀由可變參數(shù)sizes定義桐经。

torch.rand(*sizes, out=None) → Tensor

返回一個張量毁兆,包含了從區(qū)間[0,1)的均勻分布中抽取的一組隨機數(shù),形狀由可變參數(shù)sizes 定義

torch.randn(*sizes, out=None) → Tensor

返回一個張量阴挣,包含了從標(biāo)準(zhǔn)正態(tài)分布(均值為0气堕,方差為 1,即高斯白噪聲)中抽取一組隨機數(shù)畔咧,形狀由可變參數(shù)sizes定義茎芭。

torch.zeros(*sizes, out=None) → Tensor

返回一個全為標(biāo)量 0 的張量,形狀由可變參數(shù)sizes 定義誓沸。

torch.cat(inputs, dimension=0) → Tensor

在給定維度上對輸入的張量序列seq 進(jìn)行連接操作梅桩。
torch.cat()可以看做 torch.split() 和 torch.chunk()的反操作。

>>> x = torch.randn(2, 3)
>>> x
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x3]

>>> torch.cat((x, x, x), 0)
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 6x3]

>>> torch.cat((x, x, x), 1)
 0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x9]

torch.stack(sequence, dim=0)

沿著一個新維度對輸入張量序列進(jìn)行連接拜隧。 序列中所有的張量都應(yīng)該為相同形狀摘投。

torch.normal()

返回一個張量,包含從給定參數(shù)means,std的離散正態(tài)分布中抽取隨機數(shù)虹蓄。 均值means是一個張量,包含每個輸出元素相關(guān)的正態(tài)分布的均值幸撕。 std是一個張量薇组,包含每個輸出元素相關(guān)的正態(tài)分布的標(biāo)準(zhǔn)差。 均值和標(biāo)準(zhǔn)差的形狀不須匹配坐儿,但每個張量的元素個數(shù)須相同律胀。

參數(shù):
  • means (Tensor) – 均值
  • std (Tensor) – 標(biāo)準(zhǔn)差
  • out (Tensor) – 可選的輸出張量
torch.normal(means=torch.arange(1, 11), std=torch.arange(1, 0, -0.1))

 1.5104
 1.6955
 2.4895
 4.9185
 4.9895
 6.9155
 7.3683
 8.1836
 8.7164
 9.8916
[torch.FloatTensor of size 10]

torch.mean(input) → float

返回輸入張量所有元素的均值宋光。

>>> a = torch.randn(1, 3)
>>> a
-0.2946 -0.9143  2.1809
[torch.FloatTensor of size 1x3]
>>> torch.mean(a)
0.32398951053619385

torch.Tensor

char()

將tensor元素改為char類型

clone() → Tensor

返回與原tensor有相同大小和數(shù)據(jù)類型的tensor

contiguous() → Tensor

返回一個內(nèi)存連續(xù)的有相同數(shù)據(jù)的tensor,如果原tensor內(nèi)存連續(xù)則返回原tensor

dim() → int

返回tensor的維數(shù)

expand(*sizes)

返回tensor的一個新視圖炭菌,單個維度擴大為更大的尺寸罪佳。 tensor也可以擴大為更高維,新增加的維度將附在前面黑低。 擴大tensor不需要分配新內(nèi)存赘艳,只是僅僅新建一個tensor的視圖,其中通過將stride設(shè)為0克握,一維將會擴展位更高維蕾管。任何一個一維的在不分配新內(nèi)存情況下可擴展為任意的數(shù)值。
sizes(torch.Size or int...)-需要擴展的大小

>>> x = torch.Tensor([[1], [2], [3]])
>>> x.size()
torch.Size([3, 1])
>>> x.expand(3, 4)
 1 1
 1 1
 2 2 2 2
 3 3 3 3
 [torch.FloatTensor of size 3x4]

numpy() → ndarray

將該tensor以NumPy的形式返回ndarray菩暗,兩者共享相同的底層內(nèi)存掰曾。原tensor改變后會相應(yīng)的在ndarray有反映,反之也一樣停团。

repeat(*sizes)

沿著指定的維度重復(fù)tensor旷坦。 不同于expand(),本函數(shù)復(fù)制的是tensor中的數(shù)據(jù)佑稠。
*sizes (torch.Size ot int...)-沿著每一維重復(fù)的次數(shù)秒梅。

>>> x = torch.Tensor([1, 2, 3])
>>> x.repeat(4, 2)
 1  2  3  1  2  3
 1  2  3  1  2  3
 1  2  3  1  2  3
 1  2  3  1  2  3
[torch.FloatTensor of size 4x6]
>>> x.repeat(4, 2, 1).size()
torch.Size([4, 2, 3])

view(*args) → Tensor

返回一個有相同數(shù)據(jù)但大小不同的tensor。 返回的tensor必須有與原tensor相同的數(shù)據(jù)和相同數(shù)目的元素讶坯,但可以有不同的大小番电。一個tensor必須是連續(xù)的contiguous()才能被查看。

>>> x = torch.randn(4, 4)
>>> x.size()
torch.Size([4, 4])
>>> y = x.view(16)
>>> y.size()
torch.Size([16])
>>> z = x.view(-1, 8)  # the size -1 is inferred from other dimensions
>>> z.size()
torch.Size([2, 8])

view_as(tensor)

返回被視作與給定的tensor相同大小的原tensor辆琅。 等效于:

self.view(tensor.size())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漱办,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子婉烟,更是在濱河造成了極大的恐慌娩井,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件似袁,死亡現(xiàn)場離奇詭異洞辣,居然都是意外死亡,警方通過查閱死者的電腦和手機昙衅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門扬霜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人而涉,你說我怎么就攤上這事著瓶。” “怎么了啼县?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵材原,是天一觀的道長沸久。 經(jīng)常有香客問我,道長余蟹,這世上最難降的妖魔是什么卷胯? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮威酒,結(jié)果婚禮上窑睁,老公的妹妹穿的比我還像新娘。我一直安慰自己兼搏,他們只是感情好卵慰,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著佛呻,像睡著了一般裳朋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吓著,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天鲤嫡,我揣著相機與錄音,去河邊找鬼绑莺。 笑死暖眼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纺裁。 我是一名探鬼主播诫肠,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼欺缘!你這毒婦竟也來了栋豫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谚殊,失蹤者是張志新(化名)和其女友劉穎丧鸯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫩絮,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡丛肢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了剿干。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜂怎。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖置尔,靈堂內(nèi)的尸體忽然破棺而出派敷,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布篮愉,位于F島的核電站,受9級特大地震影響差导,放射性物質(zhì)發(fā)生泄漏试躏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一设褐、第九天 我趴在偏房一處隱蔽的房頂上張望颠蕴。 院中可真熱鬧,春花似錦助析、人聲如沸犀被。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寡键。三九已至,卻和暖如春雪隧,著一層夾襖步出監(jiān)牢的瞬間西轩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工脑沿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留藕畔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓庄拇,卻偏偏與公主長得像注服,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子措近,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容