PyTorch:批量外加

时间:2019-04-18 06:08:04

标签: python pytorch

我有两个PyTorch张量:AB,它们的形状均为(b, c, 3)。我想制作CA的外积B,以使最终的形状为(b, c, 3, 3),并用加法代替乘法运算。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以添加相应的单例尺寸:

C = A[..., None] + B[..., None, :]

例如,批次和渠道尺寸等于1(b=1, c=1):

import torch
A = torch.tensor([[[1, 2, 3.]]]) 
B = torch.tensor([[[4., 5., 6.]]])
A[..., None] + B[..., None, :]
Out[ ]:
tensor([[[[5., 6., 7.],
          [6., 7., 8.],
          [7., 8., 9.]]]])