溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PyTorch中的torch.cat怎么用

發(fā)布時間:2022-03-17 13:34:08 來源:億速云 閱讀:227 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹PyTorch中的torch.cat怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.toych簡單介紹

torch包含了多維疑是的數(shù)據(jù)結(jié)構(gòu)及基于其上的多種數(shù)學操作。

torch包含了多維張量的數(shù)據(jù)結(jié)構(gòu)以及基于其上的多種數(shù)學運算。此外,它也提供了多種實用工具,其中一些可以更有效地對張量和任意類型進行序列化的工具。

它具有CUDA的對應實現(xiàn),可以在NVIDIA GPU上進行張量運算(計算能力>=3.0)

2. 張量Tensors

torch.is_tensor(obj):如果obj是一個pytorch張量,則返回True

torch.is_storage(obj):如果obj是一個pytorch storage對象,則返回True

torch.numel(input):返回input張量中的元素個數(shù)。

3.torch.cat

a = torch.ones([1,2])
 
b = torch.ones([1,2])
 
z = torch.cat([a,b],1)
 
a
Out[47]: tensor([[1., 1., 1., 1.]])
 
a
Out[48]: tensor([[1., 1.]])

如果第二個參數(shù)是1,torch.cat就是將a,b 按列放在一起,大小為torch.Size([1,4])。如果第二個參數(shù)是0,則按行

行放在一起,大小為 torch.Size([2, 2]) 。

字面理解:torch.cat是將兩個張量(tensor)拼接在一起,cat是concatenate的意思,即拼接,聯(lián)系在一起。

例子理解:

import torch
A = torch.ones(2,3)
A
#tensor([[1., 1., 1.],
#        [1., 1., 1.]])
B=2*torch.ones(4,3)
B
#tensor([[2., 2., 2.],
#        [2., 2., 2.],
#        [2., 2., 2.],
#        [2., 2., 2.]])
C = torch.cat((A,B),0) #按維數(shù)0(添加到行)拼接
C
#tensor([[1., 1., 1.],
#        [1., 1., 1.],
#        [2., 2., 2.],
#        [2., 2., 2.],
#        [2., 2., 2.],
#        [2., 2., 2.]])
D = 2*torch.ones(2,4)
M = torch.cat((A,D),1)  # 按維數(shù)1(列)拼接
M
#tensor([[1., 1., 1., 2., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2., 2.]])
M.size()
#torch.Size([2, 7])

使用torch.cat((A,B),dim)時,除拼接維數(shù)dim數(shù)值可不同外其余維數(shù)數(shù)值需相同,方能對齊

以上是“PyTorch中的torch.cat怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI