PyTorch中的torch.cat簡單介紹
1.toych簡單介紹
包torch
包含了多維疑是的數據結構及基于其上的多種數學操作。
torch包含了多維張量的數據結構以及基于其上的多種數學運算。此外,它也提供了多種實用工具,其中一些可以更有效地對張量和任意類型進行序列化的工具。
它具有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張量中的元素個數。
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.]])
如果第二個參數是1,torch.cat就是將a,b 按列放在一起,大小為torch.Size([1,4])。如果第二個參數是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) #按維數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) ?# 按維數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)時,除拼接維數dim數值可不同外其余維數數值需相同,方能對齊
到此這篇關于PyTorch中的torch.cat的文章就介紹到這了,更多相關torch.cat內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python?Prim算法通過遍歷墻實現(xiàn)迷宮的生成
之前,我們在另外一篇文章中使用Prim算法生成了一個完美迷宮,利用的是遍歷網格的方法,這一次,我們要教教大家用遍歷墻的方法生成,感興趣的可以收藏一下2023-01-01Python跨文件調用函數以及在一個文件中執(zhí)行另一個文件
這篇文章主要給大家介紹了關于Python跨文件調用函數以及在一個文件中執(zhí)行另一個文件的相關資料,文中通過實例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友可以參考下2022-12-12Python使用signal定時結束AsyncIOScheduler任務的問題
這篇文章主要介紹了Python使用signal定時結束AsyncIOScheduler任務,在使用aiohttp結合apscheduler的AsyncIOScheduler模擬定點并發(fā)的時候遇到兩個問題,針對每個問題給大家詳細介紹,需要的朋友可以參考下2021-07-07