您好,登錄后才能下訂單哦!
這篇文章主要介紹PyTorch中的torch.cat怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
包torch
包含了多維疑是的數(shù)據(jù)結(jié)構(gòu)及基于其上的多種數(shù)學操作。
torch包含了多維張量的數(shù)據(jù)結(jié)構(gòu)以及基于其上的多種數(shù)學運算。此外,它也提供了多種實用工具,其中一些可以更有效地對張量和任意類型進行序列化的工具。
它具有CUDA的對應實現(xiàn),可以在NVIDIA GPU
上進行張量運算(計算能力>=3.0)
torch.is_tensor(obj):如果obj是一個pytorch張量,則返回True
torch.is_storage(obj):如果obj是一個pytorch storage對象,則返回True
torch.numel(input):返回input張量中的元素個數(shù)。
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è)資訊頻道!
免責聲明:本站發(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)容。