转载
举例
需要保证(除需要合并的维度外)其他维度均相等。参数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])