转载
举例需要保证(除需要合并的维度外)其他维度均相等。参数dim
指定需要合并的维度的索引号。
- 默认dim=0就是合并(拼接)第一维,实现的时候是按行拼接,第一维度是加和,其他不变
- dim=1合并(拼接第二维),实现的时候是按列拼接,第二维度是加和,其他不变
import torch
A = torch.ones(2,3)
B = torch.ones(2,3)*2
print('A:',A)
print('A:',A.shape)
print('----------------------')
print('B:',B)
print('B:',B.shape)
print('-----------------------')
C = torch.cat((A, B)) #默认dim=0
print('C:',C)
print('C:',C.shape)
print('_______________________')
D = torch.cat((A, B), dim=1)
print('D:',D)
print('D:',D.shape)
下面合并第三维举例
import torch
a = torch.rand(2, 10, 30)
b = torch.rand(2, 10, 40)
c = torch.cat([a, b], dim=2)
print(c.shape)
>>> c.shape
torch.Size([2, 10, 70])