cat是concatnate的意思:拼接,联系在⼀起。
先说cat( )的普通⽤法
如果我们有两个tensor是A和B,想把他们拼接在⼀起,需要如下操作:
C = torch.cat( (A,B),0 ) #按维数0拼接(竖着拼)C = torch.cat( (A,B),1 ) #按维数1拼接(横着拼)
>>> import torch
>>> A=torch.ones(2,3) #2x3的张量(矩阵) >>> A
tensor([[ 1., 1., 1.], [ 1., 1., 1.]])
>>> B=2*torch.ones(4,3) #4x3的张量(矩阵) >>> 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.]])>>> C.size()torch.Size([6, 3])
>>> D=2*torch.ones(2,4) #2x4的张量(矩阵)>>> C=torch.cat((A,D),1)#按维数1(列)拼接>>> C
tensor([[ 1., 1., 1., 2., 2., 2., 2.], [ 1., 1., 1., 2., 2., 2., 2.]])>>> C.size()torch.Size([2, 7])
其次,cat还可以把list中的tensor拼接起来。⽐如:
上⾯的代码可以合成⼀⾏来写:
因篇幅问题不能全部显示,请点此查看更多更全内容