从实际运行结果理解torch.cat()函数

我们直接从实际运行结果来看torch.cat()函数的作用

import torch

A=torch.tensor([ [ [111,112,113],[121,122,123] ],
                 [ [211,212,213],[221,222,223] ] ])  # A为两行两列三通道 的三维度的张量
B=torch.tensor([ [ [511,512,513],[521,522,523] ], 
                 [ [611,612,613],[621,622,623] ] ])

C=torch.cat((A,B),0)     #按行拼接
print(C)
#tensor([ [ [111, 112, 113],[121, 122, 123] ],

#         [ [211, 212, 213],[221, 222, 223] ],

#         [ [511, 512, 513],[521, 522, 523] ],

#         [ [611, 612, 613],[621, 622, 623] ] ])  # A与B拼接为了 4行2列3通道 的三维度的张量

C=torch.cat((A,B),1)   #按列拼接 
print(C)
#tensor([ [ [111, 112, 113],[121, 122, 123],[511, 512, 513],[521, 522, 523] ],
 
#         [ [211, 212, 213],[221, 222, 223],[611, 612, 613],[621, 622, 623] ] ])  #2行4列三通道的三维度的张量

C=torch.cat((A,B),2)  #按第三个dim拼接
print(C)
#tensor([ [ [111, 112, 113, 511, 512, 513],[121, 122, 123, 521, 522, 523] ],

#         [ [211, 212, 213, 611, 612, 613],[221, 222, 223, 621, 622, 623] ] ])  #拼接为2行2列6通道 的三维度的张量
C=torch.cat((A,B))
print(C)
#tensor([ [ [111, 112, 113],[121, 122, 123] ],

#         [ [211, 212, 213],[221, 222, 223] ],

#         [ [511, 512, 513],[521, 522, 523] ],

#         [ [611, 612, 613],[621, 622, 623] ] ])  # A与B拼接为了 4行2列3通道 的三维度的张量


A=torch.tensor([ [ 11 , 12 ],
                 [ 21 , 22 ] ])   #2行2列单通道的二维度张量
B=torch.tensor([ [ 51 , 52 ], 
                 [ 61 , 62 ],
                 [ 71 , 72 ] ])

C=torch.cat((A,B),0)     #按行拼接
print(C)
#tensor([[11, 12],
#        [21, 22],
#        [51, 52],
#        [61, 62],
#        [71, 72]]) #A与B拼接为了5行2列单通道的二维度张量

你可能感兴趣的:(懒人语法)