Pytorch中torch.cat()函數(shù)舉例解析
一. torch.cat()函數(shù)解析
1. 函數(shù)說明
1.1 官網(wǎng):torch.cat(),函數(shù)定義及參數(shù)說明如下圖所示:
1.2 函數(shù)功能
函數(shù)將兩個張量(tensor)按指定維度拼接在一起,注意:除拼接維數(shù)dim數(shù)值可不同外其余維數(shù)數(shù)值需相同,方能對齊,如下面例子所示。torch.cat()函數(shù)不會新增維度,而torch.stack()函數(shù)會新增一個維度,相同的是兩個都是對張量進行拼接
2. 代碼舉例
2.1 輸入兩個二維張量(dim=0):dim=0對行進行拼接
a = torch.randn(2,3) b = torch.randn(3,3) c = torch.cat((a,b),dim=0) a,b,c
輸出結果如下:
(tensor([[-0.90, -0.37, 1.96],
[-2.65, -0.60, 0.05]]),
tensor([[ 1.30, 0.24, 0.27],
[-1.99, -1.09, 1.67],
[-1.62, 1.54, -0.14]]),
tensor([[-0.90, -0.37, 1.96],
[-2.65, -0.60, 0.05],
[ 1.30, 0.24, 0.27],
[-1.99, -1.09, 1.67],
[-1.62, 1.54, -0.14]]))
2.2 輸入兩個二維張量(dim=1): dim=1對列進行拼接
a = torch.randn(2,3) b = torch.randn(2,4) c = torch.cat((a,b),dim=1) a,b,c
輸出結果如下:
(tensor([[-0.55, -0.84, -1.60],
[ 0.39, -0.96, 1.02]]),
tensor([[-0.83, -0.09, 0.05, 0.17],
[ 0.28, -0.74, -0.27, -0.85]]),
tensor([[-0.55, -0.84, -1.60, -0.83, -0.09, 0.05, 0.17],
[ 0.39, -0.96, 1.02, 0.28, -0.74, -0.27, -0.85]]))
2.3 輸入兩個三維張量:dim=0 對通道進行拼接
a = torch.randn(2,3,4) b = torch.randn(1,3,4) c = torch.cat((a,b),dim=0) a,b,c
輸出結果如下:
(tensor([[[ 0.51, -0.72, -0.02, 0.76],
[ 0.72, 1.01, 0.39, -0.13],
[ 0.37, -0.63, -2.69, 0.74]],
[[ 0.72, -0.31, -0.27, 0.10],
[ 1.66, -0.06, 1.91, -0.66],
[ 0.34, -0.23, -0.18, -1.22]]]),
tensor([[[ 0.94, 0.77, -0.41, -1.20],
[-0.23, -1.03, -0.25, 1.67],
[-1.00, -0.68, -0.35, -0.50]]]),
tensor([[[ 0.51, -0.72, -0.02, 0.76],
[ 0.72, 1.01, 0.39, -0.13],
[ 0.37, -0.63, -2.69, 0.74]],
[[ 0.72, -0.31, -0.27, 0.10],
[ 1.66, -0.06, 1.91, -0.66],
[ 0.34, -0.23, -0.18, -1.22]],
[[ 0.94, 0.77, -0.41, -1.20],
[-0.23, -1.03, -0.25, 1.67],
[-1.00, -0.68, -0.35, -0.50]]]))
2.4 輸入兩個三維張量:dim=1對行進行拼接
a = torch.randn(2,3,4) b = torch.randn(2,4,4) c = torch.cat((a,b),dim=1) a,b,c
輸出結果如下:
(tensor([[[-0.86, 0.00, -1.26, 1.20],
[-0.46, -1.08, -0.82, 2.03],
[-0.89, 0.43, 1.92, 0.49]],
[[ 0.24, -0.02, 0.32, 0.97],
[ 0.33, -1.34, 0.76, -1.55],
[ 0.38, 1.45, 0.27, -0.64]]]),
tensor([[[ 0.82, 0.85, -0.30, -0.58],
[-0.09, 0.40, 0.02, 0.75],
[-0.70, 0.67, -0.88, -0.50],
[-0.62, -1.65, -1.10, -1.39]],
[[-0.85, -1.61, -0.35, -0.56],
[ 0.00, 1.40, 0.41, 0.39],
[-0.01, 0.04, 0.80, 0.41],
[-1.21, -0.64, 1.14, 1.64]]]),
tensor([[[-0.86, 0.00, -1.26, 1.20],
[-0.46, -1.08, -0.82, 2.03],
[-0.89, 0.43, 1.92, 0.49],
[ 0.82, 0.85, -0.30, -0.58],
[-0.09, 0.40, 0.02, 0.75],
[-0.70, 0.67, -0.88, -0.50],
[-0.62, -1.65, -1.10, -1.39]],
[[ 0.24, -0.02, 0.32, 0.97],
[ 0.33, -1.34, 0.76, -1.55],
[ 0.38, 1.45, 0.27, -0.64],
[-0.85, -1.61, -0.35, -0.56],
[ 0.00, 1.40, 0.41, 0.39],
[-0.01, 0.04, 0.80, 0.41],
[-1.21, -0.64, 1.14, 1.64]]]))
2.5 輸入兩個三維張量:dim=2對列進行拼接
a = torch.randn(2,3,4) b = torch.randn(2,3,5) c = torch.cat((a,b),dim=2) a,b,c
輸出結果如下:
(tensor([[[ 0.13, -0.02, 0.13, -0.25],
[ 1.42, -0.22, -0.87, 0.27],
[-0.07, 1.04, -0.06, 0.91]],
[[ 0.88, -1.46, 0.04, 0.35],
[ 1.36, 0.64, 0.75, 0.39],
[ 0.36, 1.13, 0.83, 0.56]]]),
tensor([[[-0.47, -2.30, -0.49, -1.02, 1.74],
[ 0.71, 0.89, 0.80, -0.05, -1.35],
[-0.40, 0.26, -0.78, -1.50, -0.92]],
[[-0.77, -0.01, 1.23, 0.70, -0.66],
[ 0.28, -0.18, -0.91, 2.23, 1.14],
[-1.93, -0.17, 0.15, 0.40, 0.32]]]),
tensor([[[ 0.13, -0.02, 0.13, -0.25, -0.47, -2.30, -0.49, -1.02, 1.74],
[ 1.42, -0.22, -0.87, 0.27, 0.71, 0.89, 0.80, -0.05, -1.35],
[-0.07, 1.04, -0.06, 0.91, -0.40, 0.26, -0.78, -1.50, -0.92]],
[[ 0.88, -1.46, 0.04, 0.35, -0.77, -0.01, 1.23, 0.70, -0.66],
[ 1.36, 0.64, 0.75, 0.39, 0.28, -0.18, -0.91, 2.23, 1.14],
[ 0.36, 1.13, 0.83, 0.56, -1.93, -0.17, 0.15, 0.40, 0.32]]]))
總結
到此這篇關于Pytorch中torch.cat()函數(shù)舉例解析的文章就介紹到這了,更多相關Pytorch中torch.cat()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
django model通過字典更新數(shù)據(jù)實例
這篇文章主要介紹了django model通過字典更新數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python3中類的繼承以及self和super的區(qū)別詳解
今天小編就為大家分享一篇python3中類的繼承以及self和super的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python sklearn對文本數(shù)據(jù)進行特征化提取
這篇文章主要介紹了Python sklearn對文本數(shù)據(jù)進行特征化提取,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-04-04Python BeautifulSoup中文亂碼問題的2種解決方法
這篇文章主要介紹了Python BeautifulSoup中文亂碼問題的2種解決方法,需要的朋友可以參考下2014-04-04Python爬取騰訊疫情實時數(shù)據(jù)并存儲到mysql數(shù)據(jù)庫的示例代碼
這篇文章主要介紹了Python爬取騰訊疫情實時數(shù)據(jù)并存儲到mysql數(shù)據(jù)庫的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03